aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--settings.gradle2
-rw-r--r--xds/build.gradle43
-rw-r--r--xds/src/generated/main/grpc/io/grpc/xds/shaded/envoy/api/v2/ClusterDiscoveryServiceGrpc.java413
-rw-r--r--xds/src/generated/main/grpc/io/grpc/xds/shaded/envoy/api/v2/EndpointDiscoveryServiceGrpc.java347
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Cds.java381
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Cluster.java19672
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterDiscoveryService.java383
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterLoadAssignment.java3715
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterLoadAssignmentOrBuilder.java102
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterOrBuilder.java1252
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Discovery.java142
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryRequest.java1734
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryRequestOrBuilder.java201
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryResponse.java1480
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryResponseOrBuilder.java146
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Eds.java117
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/EndpointDiscoveryService.java318
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryRequest.java2242
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryRequestOrBuilder.java304
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryResponse.java1404
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryResponseOrBuilder.java135
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Resource.java780
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ResourceOrBuilder.java54
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamBindConfig.java628
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamBindConfigOrBuilder.java34
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamConnectionOptions.java618
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamConnectionOptionsOrBuilder.java34
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/Cert.java242
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CertificateValidationContext.java2863
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CertificateValidationContextOrBuilder.java459
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CommonTlsContext.java3698
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CommonTlsContextOrBuilder.java300
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/DownstreamTlsContext.java1672
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/DownstreamTlsContextOrBuilder.java142
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SdsSecretConfig.java747
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SdsSecretConfigOrBuilder.java44
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/Secret.java1232
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SecretOrBuilder.java68
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsCertificate.java1757
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsCertificateOrBuilder.java156
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsParameters.java1446
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsParametersOrBuilder.java181
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsSessionTicketKeys.java1217
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsSessionTicketKeysOrBuilder.java138
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/UpstreamTlsContext.java1109
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/UpstreamTlsContextOrBuilder.java94
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreaker.java83
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreakers.java2557
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreakersOrBuilder.java73
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetection.java3242
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetectionOrBuilder.java365
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetectionOuterClass.java90
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Address.java877
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AddressOrBuilder.java37
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AddressOuterClass.java148
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AggregatedConfigSource.java400
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AggregatedConfigSourceOrBuilder.java9
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ApiConfigSource.java2071
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ApiConfigSourceOrBuilder.java200
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Base.java223
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/BindConfig.java1382
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/BindConfigOrBuilder.java126
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/CidrRange.java783
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/CidrRangeOrBuilder.java52
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSource.java1215
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSourceOrBuilder.java94
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSourceOuterClass.java125
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/DataSource.java920
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/DataSourceOrBuilder.java56
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcProtocolOptions.java578
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcProtocolOptionsOrBuilder.java22
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcService.java11438
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcServiceOrBuilder.java155
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcServiceOuterClass.java227
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValue.java728
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOption.java867
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOptionOrBuilder.java62
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOrBuilder.java51
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheck.java11257
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheckOrBuilder.java496
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheckOuterClass.java194
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthStatus.java184
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http1ProtocolOptions.java910
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http1ProtocolOptionsOrBuilder.java77
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http2ProtocolOptions.java1567
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http2ProtocolOptionsOrBuilder.java155
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HttpProtocolOptions.java654
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HttpProtocolOptionsOrBuilder.java43
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Locality.java925
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/LocalityOrBuilder.java81
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Metadata.java758
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/MetadataOrBuilder.java68
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Node.java1455
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/NodeOrBuilder.java150
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Pipe.java565
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/PipeOrBuilder.java33
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Protocol.java131
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RateLimitSettings.java879
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RateLimitSettingsOrBuilder.java65
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RequestMethod.java170
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RoutingPriority.java113
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeFractionalPercent.java783
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeFractionalPercentOrBuilder.java52
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeUInt32.java626
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeUInt32OrBuilder.java36
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketAddress.java1402
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketAddressOrBuilder.java121
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketOption.java1208
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketOptionOrBuilder.java86
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpKeepalive.java1136
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpKeepaliveOrBuilder.java99
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpProtocolOptions.java396
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpProtocolOptionsOrBuilder.java9
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TransportSocket.java1089
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TransportSocketOrBuilder.java69
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/ClusterStats.java2471
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/ClusterStatsOrBuilder.java171
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/Endpoint.java1474
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointLoadMetricStats.java708
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointLoadMetricStatsOrBuilder.java46
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointOrBuilder.java89
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointOuterClass.java125
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LbEndpoint.java1399
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LbEndpointOrBuilder.java152
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LoadReport.java148
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LocalityLbEndpoints.java1543
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LocalityLbEndpointsOrBuilder.java154
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamEndpointStats.java1596
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamEndpointStatsOrBuilder.java151
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamLocalityStats.java1902
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamLocalityStatsOrBuilder.java180
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/FractionalPercent.java738
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/FractionalPercentOrBuilder.java37
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/Percent.java458
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/PercentOrBuilder.java14
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/PercentOuterClass.java80
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/AnyRules.java975
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/AnyRulesOrBuilder.java104
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/BoolRules.java505
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/BoolRulesOrBuilder.java26
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/BytesRules.java2058
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/BytesRulesOrBuilder.java268
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/DoubleRules.java1353
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/DoubleRulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/DurationRules.java2641
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/DurationRulesOrBuilder.java261
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/EnumRules.java1009
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/EnumRulesOrBuilder.java101
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/FieldRules.java5104
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/FieldRulesOrBuilder.java333
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed32Rules.java1338
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed32RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed64Rules.java1343
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed64RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/FloatRules.java1353
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/FloatRulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int32Rules.java1344
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int32RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int64Rules.java1349
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int64RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/MapRules.java1221
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/MapRulesOrBuilder.java122
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/MessageRules.java616
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/MessageRulesOrBuilder.java45
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/RepeatedRules.java993
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/RepeatedRulesOrBuilder.java99
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed32Rules.java1338
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed32RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed64Rules.java1343
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed64RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt32Rules.java1344
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt32RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt64Rules.java1349
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt64RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/StringRules.java3171
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/StringRulesOrBuilder.java447
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/TimestampRules.java2201
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/TimestampRulesOrBuilder.java232
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt32Rules.java1344
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt32RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt64Rules.java1349
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt64RulesOrBuilder.java162
-rw-r--r--xds/src/generated/main/java/io/grpc/xds/shaded/validate/Validate.java462
-rw-r--r--xds/third_party/envoy/LICENSE202
-rw-r--r--xds/third_party/envoy/NOTICE4
-rwxr-xr-xxds/third_party/envoy/import.sh100
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/auth/cert.proto345
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/cds.proto561
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/cluster/circuit_breaker.proto55
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/cluster/outlier_detection.proto81
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/core/address.proto118
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/core/base.proto240
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/core/config_source.proto104
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/core/grpc_service.proto172
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/core/health_check.proto249
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/core/protocol.proto97
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/discovery.proto197
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/eds.proto102
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/endpoint/endpoint.proto130
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/api/v2/endpoint/load_report.proto155
-rw-r--r--xds/third_party/envoy/src/main/proto/envoy/type/percent.proto50
-rw-r--r--xds/third_party/protoc-gen-validate/LICENSE202
-rwxr-xr-xxds/third_party/protoc-gen-validate/import.sh60
-rw-r--r--xds/third_party/protoc-gen-validate/src/main/proto/validate/validate.proto752
204 files changed, 170241 insertions, 0 deletions
diff --git a/settings.gradle b/settings.gradle
index 65dd76339..4bc170691 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -19,6 +19,7 @@ include ":grpc-all"
include ":grpc-alts"
include ":grpc-benchmarks"
include ":grpc-services"
+include ":grpc-xds"
project(':grpc-core').projectDir = "$rootDir/core" as File
project(':grpc-context').projectDir = "$rootDir/context" as File
@@ -40,6 +41,7 @@ project(':grpc-all').projectDir = "$rootDir/all" as File
project(':grpc-alts').projectDir = "$rootDir/alts" as File
project(':grpc-benchmarks').projectDir = "$rootDir/benchmarks" as File
project(':grpc-services').projectDir = "$rootDir/services" as File
+project(':grpc-xds').projectDir = "$rootDir/xds" as File
if (settings.hasProperty('skipCodegen') && skipCodegen.toBoolean()) {
println '*** Skipping the build of codegen and compilation of proto files because skipCodegen=true'
diff --git a/xds/build.gradle b/xds/build.gradle
new file mode 100644
index 000000000..e408c601b
--- /dev/null
+++ b/xds/build.gradle
@@ -0,0 +1,43 @@
+// Add dependency on the protobuf plugin
+buildscript {
+ repositories {
+ maven { // The google mirror is less flaky than mavenCentral()
+ url "https://maven-central.storage-download.googleapis.com/repos/central/data/" }
+ }
+ dependencies { classpath libraries.protobuf_plugin }
+}
+
+description = "gRPC: XDS plugin"
+
+[compileJava].each() {
+ it.options.compilerArgs += [
+ // valueOf(int) in RoutingPriority has been deprecated
+ "-Xlint:-deprecation",
+ ]
+}
+
+dependencies {
+ compile project(':grpc-protobuf'),
+ project(':grpc-stub')
+ compile (libraries.protobuf_util) {
+ // prefer 20.0 from libraries instead of 19.0
+ exclude group: 'com.google.guava', module: 'guava'
+ }
+
+ compileOnly libraries.javax_annotation
+ signature "org.codehaus.mojo.signature:java17:1.0@signature"
+}
+
+if (rootProject.childProjects.containsKey('grpc-compiler')) {
+ apply plugin: 'com.google.protobuf'
+ sourceSets {
+ main {
+ proto {
+ srcDir 'third_party/envoy/src/main/proto'
+ srcDir 'third_party/protoc-gen-validate/src/main/proto'
+ }
+ }
+ }
+}
+
+configureProtoCompilation()
diff --git a/xds/src/generated/main/grpc/io/grpc/xds/shaded/envoy/api/v2/ClusterDiscoveryServiceGrpc.java b/xds/src/generated/main/grpc/io/grpc/xds/shaded/envoy/api/v2/ClusterDiscoveryServiceGrpc.java
new file mode 100644
index 000000000..b9a46de41
--- /dev/null
+++ b/xds/src/generated/main/grpc/io/grpc/xds/shaded/envoy/api/v2/ClusterDiscoveryServiceGrpc.java
@@ -0,0 +1,413 @@
+package io.grpc.xds.shaded.envoy.api.v2;
+
+import static io.grpc.MethodDescriptor.generateFullMethodName;
+import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncUnaryCall;
+import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
+import static io.grpc.stub.ClientCalls.blockingUnaryCall;
+import static io.grpc.stub.ClientCalls.futureUnaryCall;
+import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncUnaryCall;
+import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
+
+/**
+ * <pre>
+ * Return list of all clusters this proxy will load balance to.
+ * </pre>
+ */
+@javax.annotation.Generated(
+ value = "by gRPC proto compiler",
+ comments = "Source: envoy/api/v2/cds.proto")
+public final class ClusterDiscoveryServiceGrpc {
+
+ private ClusterDiscoveryServiceGrpc() {}
+
+ public static final String SERVICE_NAME = "envoy.api.v2.ClusterDiscoveryService";
+
+ // Static method descriptors that strictly reflect the proto.
+ private static volatile io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getStreamClustersMethod;
+
+ @io.grpc.stub.annotations.RpcMethod(
+ fullMethodName = SERVICE_NAME + '/' + "StreamClusters",
+ requestType = io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.class,
+ responseType = io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class,
+ methodType = io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING)
+ public static io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getStreamClustersMethod() {
+ io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getStreamClustersMethod;
+ if ((getStreamClustersMethod = ClusterDiscoveryServiceGrpc.getStreamClustersMethod) == null) {
+ synchronized (ClusterDiscoveryServiceGrpc.class) {
+ if ((getStreamClustersMethod = ClusterDiscoveryServiceGrpc.getStreamClustersMethod) == null) {
+ ClusterDiscoveryServiceGrpc.getStreamClustersMethod = getStreamClustersMethod =
+ io.grpc.MethodDescriptor.<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING)
+ .setFullMethodName(generateFullMethodName(
+ "envoy.api.v2.ClusterDiscoveryService", "StreamClusters"))
+ .setSampledToLocalTracing(true)
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()))
+ .setSchemaDescriptor(new ClusterDiscoveryServiceMethodDescriptorSupplier("StreamClusters"))
+ .build();
+ }
+ }
+ }
+ return getStreamClustersMethod;
+ }
+
+ private static volatile io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> getIncrementalClustersMethod;
+
+ @io.grpc.stub.annotations.RpcMethod(
+ fullMethodName = SERVICE_NAME + '/' + "IncrementalClusters",
+ requestType = io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.class,
+ responseType = io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.class,
+ methodType = io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING)
+ public static io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> getIncrementalClustersMethod() {
+ io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> getIncrementalClustersMethod;
+ if ((getIncrementalClustersMethod = ClusterDiscoveryServiceGrpc.getIncrementalClustersMethod) == null) {
+ synchronized (ClusterDiscoveryServiceGrpc.class) {
+ if ((getIncrementalClustersMethod = ClusterDiscoveryServiceGrpc.getIncrementalClustersMethod) == null) {
+ ClusterDiscoveryServiceGrpc.getIncrementalClustersMethod = getIncrementalClustersMethod =
+ io.grpc.MethodDescriptor.<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse>newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING)
+ .setFullMethodName(generateFullMethodName(
+ "envoy.api.v2.ClusterDiscoveryService", "IncrementalClusters"))
+ .setSampledToLocalTracing(true)
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.getDefaultInstance()))
+ .setSchemaDescriptor(new ClusterDiscoveryServiceMethodDescriptorSupplier("IncrementalClusters"))
+ .build();
+ }
+ }
+ }
+ return getIncrementalClustersMethod;
+ }
+
+ private static volatile io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getFetchClustersMethod;
+
+ @io.grpc.stub.annotations.RpcMethod(
+ fullMethodName = SERVICE_NAME + '/' + "FetchClusters",
+ requestType = io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.class,
+ responseType = io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class,
+ methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
+ public static io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getFetchClustersMethod() {
+ io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getFetchClustersMethod;
+ if ((getFetchClustersMethod = ClusterDiscoveryServiceGrpc.getFetchClustersMethod) == null) {
+ synchronized (ClusterDiscoveryServiceGrpc.class) {
+ if ((getFetchClustersMethod = ClusterDiscoveryServiceGrpc.getFetchClustersMethod) == null) {
+ ClusterDiscoveryServiceGrpc.getFetchClustersMethod = getFetchClustersMethod =
+ io.grpc.MethodDescriptor.<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName(generateFullMethodName(
+ "envoy.api.v2.ClusterDiscoveryService", "FetchClusters"))
+ .setSampledToLocalTracing(true)
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()))
+ .setSchemaDescriptor(new ClusterDiscoveryServiceMethodDescriptorSupplier("FetchClusters"))
+ .build();
+ }
+ }
+ }
+ return getFetchClustersMethod;
+ }
+
+ /**
+ * Creates a new async stub that supports all call types for the service
+ */
+ public static ClusterDiscoveryServiceStub newStub(io.grpc.Channel channel) {
+ return new ClusterDiscoveryServiceStub(channel);
+ }
+
+ /**
+ * Creates a new blocking-style stub that supports unary and streaming output calls on the service
+ */
+ public static ClusterDiscoveryServiceBlockingStub newBlockingStub(
+ io.grpc.Channel channel) {
+ return new ClusterDiscoveryServiceBlockingStub(channel);
+ }
+
+ /**
+ * Creates a new ListenableFuture-style stub that supports unary calls on the service
+ */
+ public static ClusterDiscoveryServiceFutureStub newFutureStub(
+ io.grpc.Channel channel) {
+ return new ClusterDiscoveryServiceFutureStub(channel);
+ }
+
+ /**
+ * <pre>
+ * Return list of all clusters this proxy will load balance to.
+ * </pre>
+ */
+ public static abstract class ClusterDiscoveryServiceImplBase implements io.grpc.BindableService {
+
+ /**
+ */
+ public io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest> streamClusters(
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> responseObserver) {
+ return asyncUnimplementedStreamingCall(getStreamClustersMethod(), responseObserver);
+ }
+
+ /**
+ */
+ public io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest> incrementalClusters(
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> responseObserver) {
+ return asyncUnimplementedStreamingCall(getIncrementalClustersMethod(), responseObserver);
+ }
+
+ /**
+ */
+ public void fetchClusters(io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> responseObserver) {
+ asyncUnimplementedUnaryCall(getFetchClustersMethod(), responseObserver);
+ }
+
+ @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
+ return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
+ .addMethod(
+ getStreamClustersMethod(),
+ asyncBidiStreamingCall(
+ new MethodHandlers<
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>(
+ this, METHODID_STREAM_CLUSTERS)))
+ .addMethod(
+ getIncrementalClustersMethod(),
+ asyncBidiStreamingCall(
+ new MethodHandlers<
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse>(
+ this, METHODID_INCREMENTAL_CLUSTERS)))
+ .addMethod(
+ getFetchClustersMethod(),
+ asyncUnaryCall(
+ new MethodHandlers<
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>(
+ this, METHODID_FETCH_CLUSTERS)))
+ .build();
+ }
+ }
+
+ /**
+ * <pre>
+ * Return list of all clusters this proxy will load balance to.
+ * </pre>
+ */
+ public static final class ClusterDiscoveryServiceStub extends io.grpc.stub.AbstractStub<ClusterDiscoveryServiceStub> {
+ private ClusterDiscoveryServiceStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private ClusterDiscoveryServiceStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected ClusterDiscoveryServiceStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new ClusterDiscoveryServiceStub(channel, callOptions);
+ }
+
+ /**
+ */
+ public io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest> streamClusters(
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> responseObserver) {
+ return asyncBidiStreamingCall(
+ getChannel().newCall(getStreamClustersMethod(), getCallOptions()), responseObserver);
+ }
+
+ /**
+ */
+ public io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest> incrementalClusters(
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> responseObserver) {
+ return asyncBidiStreamingCall(
+ getChannel().newCall(getIncrementalClustersMethod(), getCallOptions()), responseObserver);
+ }
+
+ /**
+ */
+ public void fetchClusters(io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> responseObserver) {
+ asyncUnaryCall(
+ getChannel().newCall(getFetchClustersMethod(), getCallOptions()), request, responseObserver);
+ }
+ }
+
+ /**
+ * <pre>
+ * Return list of all clusters this proxy will load balance to.
+ * </pre>
+ */
+ public static final class ClusterDiscoveryServiceBlockingStub extends io.grpc.stub.AbstractStub<ClusterDiscoveryServiceBlockingStub> {
+ private ClusterDiscoveryServiceBlockingStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private ClusterDiscoveryServiceBlockingStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected ClusterDiscoveryServiceBlockingStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new ClusterDiscoveryServiceBlockingStub(channel, callOptions);
+ }
+
+ /**
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse fetchClusters(io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request) {
+ return blockingUnaryCall(
+ getChannel(), getFetchClustersMethod(), getCallOptions(), request);
+ }
+ }
+
+ /**
+ * <pre>
+ * Return list of all clusters this proxy will load balance to.
+ * </pre>
+ */
+ public static final class ClusterDiscoveryServiceFutureStub extends io.grpc.stub.AbstractStub<ClusterDiscoveryServiceFutureStub> {
+ private ClusterDiscoveryServiceFutureStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private ClusterDiscoveryServiceFutureStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected ClusterDiscoveryServiceFutureStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new ClusterDiscoveryServiceFutureStub(channel, callOptions);
+ }
+
+ /**
+ */
+ public com.google.common.util.concurrent.ListenableFuture<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> fetchClusters(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request) {
+ return futureUnaryCall(
+ getChannel().newCall(getFetchClustersMethod(), getCallOptions()), request);
+ }
+ }
+
+ private static final int METHODID_FETCH_CLUSTERS = 0;
+ private static final int METHODID_STREAM_CLUSTERS = 1;
+ private static final int METHODID_INCREMENTAL_CLUSTERS = 2;
+
+ private static final class MethodHandlers<Req, Resp> implements
+ io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
+ private final ClusterDiscoveryServiceImplBase serviceImpl;
+ private final int methodId;
+
+ MethodHandlers(ClusterDiscoveryServiceImplBase serviceImpl, int methodId) {
+ this.serviceImpl = serviceImpl;
+ this.methodId = methodId;
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("unchecked")
+ public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
+ switch (methodId) {
+ case METHODID_FETCH_CLUSTERS:
+ serviceImpl.fetchClusters((io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest) request,
+ (io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>) responseObserver);
+ break;
+ default:
+ throw new AssertionError();
+ }
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("unchecked")
+ public io.grpc.stub.StreamObserver<Req> invoke(
+ io.grpc.stub.StreamObserver<Resp> responseObserver) {
+ switch (methodId) {
+ case METHODID_STREAM_CLUSTERS:
+ return (io.grpc.stub.StreamObserver<Req>) serviceImpl.streamClusters(
+ (io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>) responseObserver);
+ case METHODID_INCREMENTAL_CLUSTERS:
+ return (io.grpc.stub.StreamObserver<Req>) serviceImpl.incrementalClusters(
+ (io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse>) responseObserver);
+ default:
+ throw new AssertionError();
+ }
+ }
+ }
+
+ private static abstract class ClusterDiscoveryServiceBaseDescriptorSupplier
+ implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
+ ClusterDiscoveryServiceBaseDescriptorSupplier() {}
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.getDescriptor();
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {
+ return getFileDescriptor().findServiceByName("ClusterDiscoveryService");
+ }
+ }
+
+ private static final class ClusterDiscoveryServiceFileDescriptorSupplier
+ extends ClusterDiscoveryServiceBaseDescriptorSupplier {
+ ClusterDiscoveryServiceFileDescriptorSupplier() {}
+ }
+
+ private static final class ClusterDiscoveryServiceMethodDescriptorSupplier
+ extends ClusterDiscoveryServiceBaseDescriptorSupplier
+ implements io.grpc.protobuf.ProtoMethodDescriptorSupplier {
+ private final String methodName;
+
+ ClusterDiscoveryServiceMethodDescriptorSupplier(String methodName) {
+ this.methodName = methodName;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {
+ return getServiceDescriptor().findMethodByName(methodName);
+ }
+ }
+
+ private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
+
+ public static io.grpc.ServiceDescriptor getServiceDescriptor() {
+ io.grpc.ServiceDescriptor result = serviceDescriptor;
+ if (result == null) {
+ synchronized (ClusterDiscoveryServiceGrpc.class) {
+ result = serviceDescriptor;
+ if (result == null) {
+ serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
+ .setSchemaDescriptor(new ClusterDiscoveryServiceFileDescriptorSupplier())
+ .addMethod(getStreamClustersMethod())
+ .addMethod(getIncrementalClustersMethod())
+ .addMethod(getFetchClustersMethod())
+ .build();
+ }
+ }
+ }
+ return result;
+ }
+}
diff --git a/xds/src/generated/main/grpc/io/grpc/xds/shaded/envoy/api/v2/EndpointDiscoveryServiceGrpc.java b/xds/src/generated/main/grpc/io/grpc/xds/shaded/envoy/api/v2/EndpointDiscoveryServiceGrpc.java
new file mode 100644
index 000000000..673a8c203
--- /dev/null
+++ b/xds/src/generated/main/grpc/io/grpc/xds/shaded/envoy/api/v2/EndpointDiscoveryServiceGrpc.java
@@ -0,0 +1,347 @@
+package io.grpc.xds.shaded.envoy.api.v2;
+
+import static io.grpc.MethodDescriptor.generateFullMethodName;
+import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
+import static io.grpc.stub.ClientCalls.asyncUnaryCall;
+import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
+import static io.grpc.stub.ClientCalls.blockingUnaryCall;
+import static io.grpc.stub.ClientCalls.futureUnaryCall;
+import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncUnaryCall;
+import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;
+import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
+
+/**
+ */
+@javax.annotation.Generated(
+ value = "by gRPC proto compiler",
+ comments = "Source: envoy/api/v2/eds.proto")
+public final class EndpointDiscoveryServiceGrpc {
+
+ private EndpointDiscoveryServiceGrpc() {}
+
+ public static final String SERVICE_NAME = "envoy.api.v2.EndpointDiscoveryService";
+
+ // Static method descriptors that strictly reflect the proto.
+ private static volatile io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getStreamEndpointsMethod;
+
+ @io.grpc.stub.annotations.RpcMethod(
+ fullMethodName = SERVICE_NAME + '/' + "StreamEndpoints",
+ requestType = io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.class,
+ responseType = io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class,
+ methodType = io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING)
+ public static io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getStreamEndpointsMethod() {
+ io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getStreamEndpointsMethod;
+ if ((getStreamEndpointsMethod = EndpointDiscoveryServiceGrpc.getStreamEndpointsMethod) == null) {
+ synchronized (EndpointDiscoveryServiceGrpc.class) {
+ if ((getStreamEndpointsMethod = EndpointDiscoveryServiceGrpc.getStreamEndpointsMethod) == null) {
+ EndpointDiscoveryServiceGrpc.getStreamEndpointsMethod = getStreamEndpointsMethod =
+ io.grpc.MethodDescriptor.<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.BIDI_STREAMING)
+ .setFullMethodName(generateFullMethodName(
+ "envoy.api.v2.EndpointDiscoveryService", "StreamEndpoints"))
+ .setSampledToLocalTracing(true)
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()))
+ .setSchemaDescriptor(new EndpointDiscoveryServiceMethodDescriptorSupplier("StreamEndpoints"))
+ .build();
+ }
+ }
+ }
+ return getStreamEndpointsMethod;
+ }
+
+ private static volatile io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getFetchEndpointsMethod;
+
+ @io.grpc.stub.annotations.RpcMethod(
+ fullMethodName = SERVICE_NAME + '/' + "FetchEndpoints",
+ requestType = io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.class,
+ responseType = io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class,
+ methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
+ public static io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getFetchEndpointsMethod() {
+ io.grpc.MethodDescriptor<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> getFetchEndpointsMethod;
+ if ((getFetchEndpointsMethod = EndpointDiscoveryServiceGrpc.getFetchEndpointsMethod) == null) {
+ synchronized (EndpointDiscoveryServiceGrpc.class) {
+ if ((getFetchEndpointsMethod = EndpointDiscoveryServiceGrpc.getFetchEndpointsMethod) == null) {
+ EndpointDiscoveryServiceGrpc.getFetchEndpointsMethod = getFetchEndpointsMethod =
+ io.grpc.MethodDescriptor.<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>newBuilder()
+ .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
+ .setFullMethodName(generateFullMethodName(
+ "envoy.api.v2.EndpointDiscoveryService", "FetchEndpoints"))
+ .setSampledToLocalTracing(true)
+ .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance()))
+ .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()))
+ .setSchemaDescriptor(new EndpointDiscoveryServiceMethodDescriptorSupplier("FetchEndpoints"))
+ .build();
+ }
+ }
+ }
+ return getFetchEndpointsMethod;
+ }
+
+ /**
+ * Creates a new async stub that supports all call types for the service
+ */
+ public static EndpointDiscoveryServiceStub newStub(io.grpc.Channel channel) {
+ return new EndpointDiscoveryServiceStub(channel);
+ }
+
+ /**
+ * Creates a new blocking-style stub that supports unary and streaming output calls on the service
+ */
+ public static EndpointDiscoveryServiceBlockingStub newBlockingStub(
+ io.grpc.Channel channel) {
+ return new EndpointDiscoveryServiceBlockingStub(channel);
+ }
+
+ /**
+ * Creates a new ListenableFuture-style stub that supports unary calls on the service
+ */
+ public static EndpointDiscoveryServiceFutureStub newFutureStub(
+ io.grpc.Channel channel) {
+ return new EndpointDiscoveryServiceFutureStub(channel);
+ }
+
+ /**
+ */
+ public static abstract class EndpointDiscoveryServiceImplBase implements io.grpc.BindableService {
+
+ /**
+ * <pre>
+ * The resource_names field in DiscoveryRequest specifies a list of clusters
+ * to subscribe to updates for.
+ * </pre>
+ */
+ public io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest> streamEndpoints(
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> responseObserver) {
+ return asyncUnimplementedStreamingCall(getStreamEndpointsMethod(), responseObserver);
+ }
+
+ /**
+ */
+ public void fetchEndpoints(io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> responseObserver) {
+ asyncUnimplementedUnaryCall(getFetchEndpointsMethod(), responseObserver);
+ }
+
+ @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
+ return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
+ .addMethod(
+ getStreamEndpointsMethod(),
+ asyncBidiStreamingCall(
+ new MethodHandlers<
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>(
+ this, METHODID_STREAM_ENDPOINTS)))
+ .addMethod(
+ getFetchEndpointsMethod(),
+ asyncUnaryCall(
+ new MethodHandlers<
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>(
+ this, METHODID_FETCH_ENDPOINTS)))
+ .build();
+ }
+ }
+
+ /**
+ */
+ public static final class EndpointDiscoveryServiceStub extends io.grpc.stub.AbstractStub<EndpointDiscoveryServiceStub> {
+ private EndpointDiscoveryServiceStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private EndpointDiscoveryServiceStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected EndpointDiscoveryServiceStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new EndpointDiscoveryServiceStub(channel, callOptions);
+ }
+
+ /**
+ * <pre>
+ * The resource_names field in DiscoveryRequest specifies a list of clusters
+ * to subscribe to updates for.
+ * </pre>
+ */
+ public io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest> streamEndpoints(
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> responseObserver) {
+ return asyncBidiStreamingCall(
+ getChannel().newCall(getStreamEndpointsMethod(), getCallOptions()), responseObserver);
+ }
+
+ /**
+ */
+ public void fetchEndpoints(io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> responseObserver) {
+ asyncUnaryCall(
+ getChannel().newCall(getFetchEndpointsMethod(), getCallOptions()), request, responseObserver);
+ }
+ }
+
+ /**
+ */
+ public static final class EndpointDiscoveryServiceBlockingStub extends io.grpc.stub.AbstractStub<EndpointDiscoveryServiceBlockingStub> {
+ private EndpointDiscoveryServiceBlockingStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private EndpointDiscoveryServiceBlockingStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected EndpointDiscoveryServiceBlockingStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new EndpointDiscoveryServiceBlockingStub(channel, callOptions);
+ }
+
+ /**
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse fetchEndpoints(io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request) {
+ return blockingUnaryCall(
+ getChannel(), getFetchEndpointsMethod(), getCallOptions(), request);
+ }
+ }
+
+ /**
+ */
+ public static final class EndpointDiscoveryServiceFutureStub extends io.grpc.stub.AbstractStub<EndpointDiscoveryServiceFutureStub> {
+ private EndpointDiscoveryServiceFutureStub(io.grpc.Channel channel) {
+ super(channel);
+ }
+
+ private EndpointDiscoveryServiceFutureStub(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ super(channel, callOptions);
+ }
+
+ @java.lang.Override
+ protected EndpointDiscoveryServiceFutureStub build(io.grpc.Channel channel,
+ io.grpc.CallOptions callOptions) {
+ return new EndpointDiscoveryServiceFutureStub(channel, callOptions);
+ }
+
+ /**
+ */
+ public com.google.common.util.concurrent.ListenableFuture<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> fetchEndpoints(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request) {
+ return futureUnaryCall(
+ getChannel().newCall(getFetchEndpointsMethod(), getCallOptions()), request);
+ }
+ }
+
+ private static final int METHODID_FETCH_ENDPOINTS = 0;
+ private static final int METHODID_STREAM_ENDPOINTS = 1;
+
+ private static final class MethodHandlers<Req, Resp> implements
+ io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
+ io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
+ private final EndpointDiscoveryServiceImplBase serviceImpl;
+ private final int methodId;
+
+ MethodHandlers(EndpointDiscoveryServiceImplBase serviceImpl, int methodId) {
+ this.serviceImpl = serviceImpl;
+ this.methodId = methodId;
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("unchecked")
+ public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
+ switch (methodId) {
+ case METHODID_FETCH_ENDPOINTS:
+ serviceImpl.fetchEndpoints((io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest) request,
+ (io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>) responseObserver);
+ break;
+ default:
+ throw new AssertionError();
+ }
+ }
+
+ @java.lang.Override
+ @java.lang.SuppressWarnings("unchecked")
+ public io.grpc.stub.StreamObserver<Req> invoke(
+ io.grpc.stub.StreamObserver<Resp> responseObserver) {
+ switch (methodId) {
+ case METHODID_STREAM_ENDPOINTS:
+ return (io.grpc.stub.StreamObserver<Req>) serviceImpl.streamEndpoints(
+ (io.grpc.stub.StreamObserver<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>) responseObserver);
+ default:
+ throw new AssertionError();
+ }
+ }
+ }
+
+ private static abstract class EndpointDiscoveryServiceBaseDescriptorSupplier
+ implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
+ EndpointDiscoveryServiceBaseDescriptorSupplier() {}
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.getDescriptor();
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {
+ return getFileDescriptor().findServiceByName("EndpointDiscoveryService");
+ }
+ }
+
+ private static final class EndpointDiscoveryServiceFileDescriptorSupplier
+ extends EndpointDiscoveryServiceBaseDescriptorSupplier {
+ EndpointDiscoveryServiceFileDescriptorSupplier() {}
+ }
+
+ private static final class EndpointDiscoveryServiceMethodDescriptorSupplier
+ extends EndpointDiscoveryServiceBaseDescriptorSupplier
+ implements io.grpc.protobuf.ProtoMethodDescriptorSupplier {
+ private final String methodName;
+
+ EndpointDiscoveryServiceMethodDescriptorSupplier(String methodName) {
+ this.methodName = methodName;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {
+ return getServiceDescriptor().findMethodByName(methodName);
+ }
+ }
+
+ private static volatile io.grpc.ServiceDescriptor serviceDescriptor;
+
+ public static io.grpc.ServiceDescriptor getServiceDescriptor() {
+ io.grpc.ServiceDescriptor result = serviceDescriptor;
+ if (result == null) {
+ synchronized (EndpointDiscoveryServiceGrpc.class) {
+ result = serviceDescriptor;
+ if (result == null) {
+ serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
+ .setSchemaDescriptor(new EndpointDiscoveryServiceFileDescriptorSupplier())
+ .addMethod(getStreamEndpointsMethod())
+ .addMethod(getFetchEndpointsMethod())
+ .build();
+ }
+ }
+ }
+ return result;
+ }
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Cds.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Cds.java
new file mode 100644
index 000000000..fe430a936
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Cds.java
@@ -0,0 +1,381 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public final class Cds {
+ private Cds() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_EdsClusterConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_EdsClusterConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_UpstreamBindConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_UpstreamBindConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_UpstreamConnectionOptions_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_UpstreamConnectionOptions_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\026envoy/api/v2/cds.proto\022\014envoy.api.v2\032\037" +
+ "envoy/api/v2/core/address.proto\032\034envoy/a" +
+ "pi/v2/auth/cert.proto\032\034envoy/api/v2/core" +
+ "/base.proto\032%envoy/api/v2/core/config_so" +
+ "urce.proto\032\034envoy/api/v2/discovery.proto" +
+ "\032$envoy/api/v2/core/health_check.proto\032 " +
+ "envoy/api/v2/core/protocol.proto\032*envoy/" +
+ "api/v2/cluster/circuit_breaker.proto\032,en" +
+ "voy/api/v2/cluster/outlier_detection.pro" +
+ "to\032\026envoy/api/v2/eds.proto\032\030envoy/type/p" +
+ "ercent.proto\032\034google/api/annotations.pro" +
+ "to\032\031google/protobuf/any.proto\032\036google/pr" +
+ "otobuf/duration.proto\032\034google/protobuf/s" +
+ "truct.proto\032\036google/protobuf/wrappers.pr" +
+ "oto\032\027validate/validate.proto\"\336 \n\007Cluster" +
+ "\022\027\n\004name\030\001 \001(\tB\t\272\351\300\003\004r\002 \001\022\025\n\ralt_stat_na" +
+ "me\030\034 \001(\t\022=\n\004type\030\002 \001(\0162#.envoy.api.v2.Cl" +
+ "uster.DiscoveryTypeB\n\272\351\300\003\005\202\001\002\020\001\022B\n\022eds_c" +
+ "luster_config\030\003 \001(\0132&.envoy.api.v2.Clust" +
+ "er.EdsClusterConfig\022>\n\017connect_timeout\030\004" +
+ " \001(\0132\031.google.protobuf.DurationB\n\272\351\300\003\005\252\001" +
+ "\002*\000\022G\n!per_connection_buffer_limit_bytes" +
+ "\030\005 \001(\0132\034.google.protobuf.UInt32Value\022=\n\t" +
+ "lb_policy\030\006 \001(\0162\036.envoy.api.v2.Cluster.L" +
+ "bPolicyB\n\272\351\300\003\005\202\001\002\020\001\022-\n\005hosts\030\007 \003(\0132\032.env" +
+ "oy.api.v2.core.AddressB\002\030\001\022<\n\017load_assig" +
+ "nment\030! \001(\0132#.envoy.api.v2.ClusterLoadAs" +
+ "signment\0225\n\rhealth_checks\030\010 \003(\0132\036.envoy." +
+ "api.v2.core.HealthCheck\022A\n\033max_requests_" +
+ "per_connection\030\t \001(\0132\034.google.protobuf.U" +
+ "Int32Value\022?\n\020circuit_breakers\030\n \001(\0132%.e" +
+ "nvoy.api.v2.cluster.CircuitBreakers\022:\n\013t" +
+ "ls_context\030\013 \001(\0132%.envoy.api.v2.auth.Ups" +
+ "treamTlsContext\022L\n\034common_http_protocol_" +
+ "options\030\035 \001(\0132&.envoy.api.v2.core.HttpPr" +
+ "otocolOptions\022F\n\025http_protocol_options\030\r" +
+ " \001(\0132\'.envoy.api.v2.core.Http1ProtocolOp" +
+ "tions\022G\n\026http2_protocol_options\030\016 \001(\0132\'." +
+ "envoy.api.v2.core.Http2ProtocolOptions\022W" +
+ "\n\032extension_protocol_options\030# \003(\01323.env" +
+ "oy.api.v2.Cluster.ExtensionProtocolOptio" +
+ "nsEntry\022b\n typed_extension_protocol_opti" +
+ "ons\030$ \003(\01328.envoy.api.v2.Cluster.TypedEx" +
+ "tensionProtocolOptionsEntry\022?\n\020dns_refre" +
+ "sh_rate\030\020 \001(\0132\031.google.protobuf.Duration" +
+ "B\n\272\351\300\003\005\252\001\002*\000\022L\n\021dns_lookup_family\030\021 \001(\0162" +
+ "%.envoy.api.v2.Cluster.DnsLookupFamilyB\n" +
+ "\272\351\300\003\005\202\001\002\020\001\0221\n\rdns_resolvers\030\022 \003(\0132\032.envo" +
+ "y.api.v2.core.Address\022A\n\021outlier_detecti" +
+ "on\030\023 \001(\0132&.envoy.api.v2.cluster.OutlierD" +
+ "etection\022?\n\020cleanup_interval\030\024 \001(\0132\031.goo" +
+ "gle.protobuf.DurationB\n\272\351\300\003\005\252\001\002*\000\022;\n\024ups" +
+ "tream_bind_config\030\025 \001(\0132\035.envoy.api.v2.c" +
+ "ore.BindConfig\022>\n\020lb_subset_config\030\026 \001(\013" +
+ "2$.envoy.api.v2.Cluster.LbSubsetConfig\022E" +
+ "\n\023ring_hash_lb_config\030\027 \001(\0132&.envoy.api." +
+ "v2.Cluster.RingHashLbConfigH\000\022K\n\026origina" +
+ "l_dst_lb_config\030\" \001(\0132).envoy.api.v2.Clu" +
+ "ster.OriginalDstLbConfigH\000\022M\n\027least_requ" +
+ "est_lb_config\030% \001(\0132*.envoy.api.v2.Clust" +
+ "er.LeastRequestLbConfigH\000\022>\n\020common_lb_c" +
+ "onfig\030\033 \001(\0132$.envoy.api.v2.Cluster.Commo" +
+ "nLbConfig\022<\n\020transport_socket\030\030 \001(\0132\".en" +
+ "voy.api.v2.core.TransportSocket\022-\n\010metad" +
+ "ata\030\031 \001(\0132\033.envoy.api.v2.core.Metadata\022J" +
+ "\n\022protocol_selection\030\032 \001(\0162..envoy.api.v" +
+ "2.Cluster.ClusterProtocolSelection\022L\n\033up" +
+ "stream_connection_options\030\036 \001(\0132\'.envoy." +
+ "api.v2.UpstreamConnectionOptions\0220\n(clos" +
+ "e_connections_on_host_health_failure\030\037 \001" +
+ "(\010\022)\n!drain_connections_on_host_removal\030" +
+ " \001(\010\032]\n\020EdsClusterConfig\0223\n\neds_config\030" +
+ "\001 \001(\0132\037.envoy.api.v2.core.ConfigSource\022\024" +
+ "\n\014service_name\030\002 \001(\t\032X\n\035ExtensionProtoco" +
+ "lOptionsEntry\022\013\n\003key\030\001 \001(\t\022&\n\005value\030\002 \001(" +
+ "\0132\027.google.protobuf.Struct:\0028\001\032Z\n\"TypedE" +
+ "xtensionProtocolOptionsEntry\022\013\n\003key\030\001 \001(" +
+ "\t\022#\n\005value\030\002 \001(\0132\024.google.protobuf.Any:\002" +
+ "8\001\032\245\003\n\016LbSubsetConfig\022`\n\017fallback_policy" +
+ "\030\001 \001(\0162;.envoy.api.v2.Cluster.LbSubsetCo" +
+ "nfig.LbSubsetFallbackPolicyB\n\272\351\300\003\005\202\001\002\020\001\022" +
+ "/\n\016default_subset\030\002 \001(\0132\027.google.protobu" +
+ "f.Struct\022O\n\020subset_selectors\030\003 \003(\01325.env" +
+ "oy.api.v2.Cluster.LbSubsetConfig.LbSubse" +
+ "tSelector\022\035\n\025locality_weight_aware\030\004 \001(\010" +
+ "\022\035\n\025scale_locality_weight\030\005 \001(\010\032 \n\020LbSub" +
+ "setSelector\022\014\n\004keys\030\001 \003(\t\"O\n\026LbSubsetFal" +
+ "lbackPolicy\022\017\n\013NO_FALLBACK\020\000\022\020\n\014ANY_ENDP" +
+ "OINT\020\001\022\022\n\016DEFAULT_SUBSET\020\002\032U\n\024LeastReque" +
+ "stLbConfig\022=\n\014choice_count\030\001 \001(\0132\034.googl" +
+ "e.protobuf.UInt32ValueB\t\272\351\300\003\004*\002(\002\032\353\001\n\020Ri" +
+ "ngHashLbConfig\022E\n\021minimum_ring_size\030\001 \001(" +
+ "\0132\034.google.protobuf.UInt64ValueB\014\272\351\300\003\0072\005" +
+ "\030\200\200\200\004\022N\n\rdeprecated_v1\030\002 \001(\01323.envoy.api" +
+ ".v2.Cluster.RingHashLbConfig.DeprecatedV" +
+ "1B\002\030\001\032@\n\014DeprecatedV1\0220\n\014use_std_hash\030\001 " +
+ "\001(\0132\032.google.protobuf.BoolValue\032.\n\023Origi" +
+ "nalDstLbConfig\022\027\n\017use_http_header\030\001 \001(\010\032" +
+ "\360\003\n\016CommonLbConfig\0224\n\027healthy_panic_thre" +
+ "shold\030\001 \001(\0132\023.envoy.type.Percent\022V\n\024zone" +
+ "_aware_lb_config\030\002 \001(\01326.envoy.api.v2.Cl" +
+ "uster.CommonLbConfig.ZoneAwareLbConfigH\000" +
+ "\022d\n\033locality_weighted_lb_config\030\003 \001(\0132=." +
+ "envoy.api.v2.Cluster.CommonLbConfig.Loca" +
+ "lityWeightedLbConfigH\000\0226\n\023update_merge_w" +
+ "indow\030\004 \001(\0132\031.google.protobuf.Duration\032y" +
+ "\n\021ZoneAwareLbConfig\022,\n\017routing_enabled\030\001" +
+ " \001(\0132\023.envoy.type.Percent\0226\n\020min_cluster" +
+ "_size\030\002 \001(\0132\034.google.protobuf.UInt64Valu" +
+ "e\032\032\n\030LocalityWeightedLbConfigB\033\n\031localit" +
+ "y_config_specifier\"W\n\rDiscoveryType\022\n\n\006S" +
+ "TATIC\020\000\022\016\n\nSTRICT_DNS\020\001\022\017\n\013LOGICAL_DNS\020\002" +
+ "\022\007\n\003EDS\020\003\022\020\n\014ORIGINAL_DST\020\004\"j\n\010LbPolicy\022" +
+ "\017\n\013ROUND_ROBIN\020\000\022\021\n\rLEAST_REQUEST\020\001\022\r\n\tR" +
+ "ING_HASH\020\002\022\n\n\006RANDOM\020\003\022\023\n\017ORIGINAL_DST_L" +
+ "B\020\004\022\n\n\006MAGLEV\020\005\"5\n\017DnsLookupFamily\022\010\n\004AU" +
+ "TO\020\000\022\013\n\007V4_ONLY\020\001\022\013\n\007V6_ONLY\020\002\"T\n\030Cluste" +
+ "rProtocolSelection\022\033\n\027USE_CONFIGURED_PRO" +
+ "TOCOL\020\000\022\033\n\027USE_DOWNSTREAM_PROTOCOL\020\001B\013\n\t" +
+ "lb_configJ\004\010\014\020\rJ\004\010\017\020\020\"H\n\022UpstreamBindCon" +
+ "fig\0222\n\016source_address\030\001 \001(\0132\032.envoy.api." +
+ "v2.core.Address\"S\n\031UpstreamConnectionOpt" +
+ "ions\0226\n\rtcp_keepalive\030\001 \001(\0132\037.envoy.api." +
+ "v2.core.TcpKeepalive2\333\002\n\027ClusterDiscover" +
+ "yService\022W\n\016StreamClusters\022\036.envoy.api.v" +
+ "2.DiscoveryRequest\032\037.envoy.api.v2.Discov" +
+ "eryResponse\"\000(\0010\001\022r\n\023IncrementalClusters" +
+ "\022).envoy.api.v2.IncrementalDiscoveryRequ" +
+ "est\032*.envoy.api.v2.IncrementalDiscoveryR" +
+ "esponse\"\000(\0010\001\022s\n\rFetchClusters\022\036.envoy.a" +
+ "pi.v2.DiscoveryRequest\032\037.envoy.api.v2.Di" +
+ "scoveryResponse\"!\202\323\344\223\002\033\"\026/v2/discovery:c" +
+ "lusters:\001*B&\n\037io.grpc.xds.shaded.envoy.a" +
+ "pi.v2P\001\210\001\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.auth.Cert.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.Discovery.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.core.Protocol.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOuterClass.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.Eds.getDescriptor(),
+ io.grpc.xds.shaded.envoy.type.PercentOuterClass.getDescriptor(),
+ com.google.api.AnnotationsProto.getDescriptor(),
+ com.google.protobuf.AnyProto.getDescriptor(),
+ com.google.protobuf.DurationProto.getDescriptor(),
+ com.google.protobuf.StructProto.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_Cluster_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_Cluster_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_descriptor,
+ new java.lang.String[] { "Name", "AltStatName", "Type", "EdsClusterConfig", "ConnectTimeout", "PerConnectionBufferLimitBytes", "LbPolicy", "Hosts", "LoadAssignment", "HealthChecks", "MaxRequestsPerConnection", "CircuitBreakers", "TlsContext", "CommonHttpProtocolOptions", "HttpProtocolOptions", "Http2ProtocolOptions", "ExtensionProtocolOptions", "TypedExtensionProtocolOptions", "DnsRefreshRate", "DnsLookupFamily", "DnsResolvers", "OutlierDetection", "CleanupInterval", "UpstreamBindConfig", "LbSubsetConfig", "RingHashLbConfig", "OriginalDstLbConfig", "LeastRequestLbConfig", "CommonLbConfig", "TransportSocket", "Metadata", "ProtocolSelection", "UpstreamConnectionOptions", "CloseConnectionsOnHostHealthFailure", "DrainConnectionsOnHostRemoval", "LbConfig", });
+ internal_static_envoy_api_v2_Cluster_EdsClusterConfig_descriptor =
+ internal_static_envoy_api_v2_Cluster_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_Cluster_EdsClusterConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_EdsClusterConfig_descriptor,
+ new java.lang.String[] { "EdsConfig", "ServiceName", });
+ internal_static_envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_descriptor =
+ internal_static_envoy_api_v2_Cluster_descriptor.getNestedTypes().get(1);
+ internal_static_envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_descriptor,
+ new java.lang.String[] { "Key", "Value", });
+ internal_static_envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_descriptor =
+ internal_static_envoy_api_v2_Cluster_descriptor.getNestedTypes().get(2);
+ internal_static_envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_descriptor,
+ new java.lang.String[] { "Key", "Value", });
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_descriptor =
+ internal_static_envoy_api_v2_Cluster_descriptor.getNestedTypes().get(3);
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_descriptor,
+ new java.lang.String[] { "FallbackPolicy", "DefaultSubset", "SubsetSelectors", "LocalityWeightAware", "ScaleLocalityWeight", });
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_descriptor =
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_descriptor,
+ new java.lang.String[] { "Keys", });
+ internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_descriptor =
+ internal_static_envoy_api_v2_Cluster_descriptor.getNestedTypes().get(4);
+ internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_descriptor,
+ new java.lang.String[] { "ChoiceCount", });
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_descriptor =
+ internal_static_envoy_api_v2_Cluster_descriptor.getNestedTypes().get(5);
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_descriptor,
+ new java.lang.String[] { "MinimumRingSize", "DeprecatedV1", });
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_descriptor =
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_descriptor,
+ new java.lang.String[] { "UseStdHash", });
+ internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_descriptor =
+ internal_static_envoy_api_v2_Cluster_descriptor.getNestedTypes().get(6);
+ internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_descriptor,
+ new java.lang.String[] { "UseHttpHeader", });
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_descriptor =
+ internal_static_envoy_api_v2_Cluster_descriptor.getNestedTypes().get(7);
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_descriptor,
+ new java.lang.String[] { "HealthyPanicThreshold", "ZoneAwareLbConfig", "LocalityWeightedLbConfig", "UpdateMergeWindow", "LocalityConfigSpecifier", });
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_descriptor =
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_descriptor,
+ new java.lang.String[] { "RoutingEnabled", "MinClusterSize", });
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_descriptor =
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_descriptor.getNestedTypes().get(1);
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_descriptor,
+ new java.lang.String[] { });
+ internal_static_envoy_api_v2_UpstreamBindConfig_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_UpstreamBindConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_UpstreamBindConfig_descriptor,
+ new java.lang.String[] { "SourceAddress", });
+ internal_static_envoy_api_v2_UpstreamConnectionOptions_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_UpstreamConnectionOptions_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_UpstreamConnectionOptions_descriptor,
+ new java.lang.String[] { "TcpKeepalive", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(com.google.api.AnnotationsProto.http);
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.auth.Cert.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.Discovery.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.core.Protocol.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOuterClass.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.Eds.getDescriptor();
+ io.grpc.xds.shaded.envoy.type.PercentOuterClass.getDescriptor();
+ com.google.api.AnnotationsProto.getDescriptor();
+ com.google.protobuf.AnyProto.getDescriptor();
+ com.google.protobuf.DurationProto.getDescriptor();
+ com.google.protobuf.StructProto.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Cluster.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Cluster.java
new file mode 100644
index 000000000..bdde0c965
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Cluster.java
@@ -0,0 +1,19672 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * <pre>
+ * Configuration for a single upstream cluster.
+ * [#comment:next free field: 38]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster}
+ */
+public final class Cluster extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster)
+ ClusterOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Cluster.newBuilder() to construct.
+ private Cluster(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Cluster() {
+ name_ = "";
+ altStatName_ = "";
+ type_ = 0;
+ lbPolicy_ = 0;
+ hosts_ = java.util.Collections.emptyList();
+ healthChecks_ = java.util.Collections.emptyList();
+ dnsLookupFamily_ = 0;
+ dnsResolvers_ = java.util.Collections.emptyList();
+ protocolSelection_ = 0;
+ closeConnectionsOnHostHealthFailure_ = false;
+ drainConnectionsOnHostRemoval_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Cluster(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ int mutable_bitField1_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 16: {
+ int rawValue = input.readEnum();
+
+ type_ = rawValue;
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.Builder subBuilder = null;
+ if (edsClusterConfig_ != null) {
+ subBuilder = edsClusterConfig_.toBuilder();
+ }
+ edsClusterConfig_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(edsClusterConfig_);
+ edsClusterConfig_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (connectTimeout_ != null) {
+ subBuilder = connectTimeout_.toBuilder();
+ }
+ connectTimeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(connectTimeout_);
+ connectTimeout_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (perConnectionBufferLimitBytes_ != null) {
+ subBuilder = perConnectionBufferLimitBytes_.toBuilder();
+ }
+ perConnectionBufferLimitBytes_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(perConnectionBufferLimitBytes_);
+ perConnectionBufferLimitBytes_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 48: {
+ int rawValue = input.readEnum();
+
+ lbPolicy_ = rawValue;
+ break;
+ }
+ case 58: {
+ if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
+ hosts_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.Address>();
+ mutable_bitField0_ |= 0x00000080;
+ }
+ hosts_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Address.parser(), extensionRegistry));
+ break;
+ }
+ case 66: {
+ if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
+ healthChecks_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck>();
+ mutable_bitField0_ |= 0x00000200;
+ }
+ healthChecks_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.parser(), extensionRegistry));
+ break;
+ }
+ case 74: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxRequestsPerConnection_ != null) {
+ subBuilder = maxRequestsPerConnection_.toBuilder();
+ }
+ maxRequestsPerConnection_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxRequestsPerConnection_);
+ maxRequestsPerConnection_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 82: {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Builder subBuilder = null;
+ if (circuitBreakers_ != null) {
+ subBuilder = circuitBreakers_.toBuilder();
+ }
+ circuitBreakers_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(circuitBreakers_);
+ circuitBreakers_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 90: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.Builder subBuilder = null;
+ if (tlsContext_ != null) {
+ subBuilder = tlsContext_.toBuilder();
+ }
+ tlsContext_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(tlsContext_);
+ tlsContext_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 106: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.Builder subBuilder = null;
+ if (httpProtocolOptions_ != null) {
+ subBuilder = httpProtocolOptions_.toBuilder();
+ }
+ httpProtocolOptions_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(httpProtocolOptions_);
+ httpProtocolOptions_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 114: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder subBuilder = null;
+ if (http2ProtocolOptions_ != null) {
+ subBuilder = http2ProtocolOptions_.toBuilder();
+ }
+ http2ProtocolOptions_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(http2ProtocolOptions_);
+ http2ProtocolOptions_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 130: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (dnsRefreshRate_ != null) {
+ subBuilder = dnsRefreshRate_.toBuilder();
+ }
+ dnsRefreshRate_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(dnsRefreshRate_);
+ dnsRefreshRate_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 136: {
+ int rawValue = input.readEnum();
+
+ dnsLookupFamily_ = rawValue;
+ break;
+ }
+ case 146: {
+ if (!((mutable_bitField0_ & 0x00100000) == 0x00100000)) {
+ dnsResolvers_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.Address>();
+ mutable_bitField0_ |= 0x00100000;
+ }
+ dnsResolvers_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Address.parser(), extensionRegistry));
+ break;
+ }
+ case 154: {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.Builder subBuilder = null;
+ if (outlierDetection_ != null) {
+ subBuilder = outlierDetection_.toBuilder();
+ }
+ outlierDetection_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(outlierDetection_);
+ outlierDetection_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 162: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (cleanupInterval_ != null) {
+ subBuilder = cleanupInterval_.toBuilder();
+ }
+ cleanupInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(cleanupInterval_);
+ cleanupInterval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 170: {
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.Builder subBuilder = null;
+ if (upstreamBindConfig_ != null) {
+ subBuilder = upstreamBindConfig_.toBuilder();
+ }
+ upstreamBindConfig_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(upstreamBindConfig_);
+ upstreamBindConfig_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 178: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.Builder subBuilder = null;
+ if (lbSubsetConfig_ != null) {
+ subBuilder = lbSubsetConfig_.toBuilder();
+ }
+ lbSubsetConfig_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(lbSubsetConfig_);
+ lbSubsetConfig_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 186: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.Builder subBuilder = null;
+ if (lbConfigCase_ == 23) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_).toBuilder();
+ }
+ lbConfig_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_);
+ lbConfig_ = subBuilder.buildPartial();
+ }
+ lbConfigCase_ = 23;
+ break;
+ }
+ case 194: {
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.Builder subBuilder = null;
+ if (transportSocket_ != null) {
+ subBuilder = transportSocket_.toBuilder();
+ }
+ transportSocket_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(transportSocket_);
+ transportSocket_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 202: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder subBuilder = null;
+ if (metadata_ != null) {
+ subBuilder = metadata_.toBuilder();
+ }
+ metadata_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Metadata.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(metadata_);
+ metadata_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 208: {
+ int rawValue = input.readEnum();
+
+ protocolSelection_ = rawValue;
+ break;
+ }
+ case 218: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.Builder subBuilder = null;
+ if (commonLbConfig_ != null) {
+ subBuilder = commonLbConfig_.toBuilder();
+ }
+ commonLbConfig_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(commonLbConfig_);
+ commonLbConfig_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 226: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ altStatName_ = s;
+ break;
+ }
+ case 234: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.Builder subBuilder = null;
+ if (commonHttpProtocolOptions_ != null) {
+ subBuilder = commonHttpProtocolOptions_.toBuilder();
+ }
+ commonHttpProtocolOptions_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(commonHttpProtocolOptions_);
+ commonHttpProtocolOptions_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 242: {
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.Builder subBuilder = null;
+ if (upstreamConnectionOptions_ != null) {
+ subBuilder = upstreamConnectionOptions_.toBuilder();
+ }
+ upstreamConnectionOptions_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(upstreamConnectionOptions_);
+ upstreamConnectionOptions_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 248: {
+
+ closeConnectionsOnHostHealthFailure_ = input.readBool();
+ break;
+ }
+ case 256: {
+
+ drainConnectionsOnHostRemoval_ = input.readBool();
+ break;
+ }
+ case 266: {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Builder subBuilder = null;
+ if (loadAssignment_ != null) {
+ subBuilder = loadAssignment_.toBuilder();
+ }
+ loadAssignment_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(loadAssignment_);
+ loadAssignment_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 274: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.Builder subBuilder = null;
+ if (lbConfigCase_ == 34) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_).toBuilder();
+ }
+ lbConfig_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_);
+ lbConfig_ = subBuilder.buildPartial();
+ }
+ lbConfigCase_ = 34;
+ break;
+ }
+ case 282: {
+ if (!((mutable_bitField0_ & 0x00010000) == 0x00010000)) {
+ extensionProtocolOptions_ = com.google.protobuf.MapField.newMapField(
+ ExtensionProtocolOptionsDefaultEntryHolder.defaultEntry);
+ mutable_bitField0_ |= 0x00010000;
+ }
+ com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Struct>
+ extensionProtocolOptions__ = input.readMessage(
+ ExtensionProtocolOptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+ extensionProtocolOptions_.getMutableMap().put(
+ extensionProtocolOptions__.getKey(), extensionProtocolOptions__.getValue());
+ break;
+ }
+ case 290: {
+ if (!((mutable_bitField0_ & 0x00020000) == 0x00020000)) {
+ typedExtensionProtocolOptions_ = com.google.protobuf.MapField.newMapField(
+ TypedExtensionProtocolOptionsDefaultEntryHolder.defaultEntry);
+ mutable_bitField0_ |= 0x00020000;
+ }
+ com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Any>
+ typedExtensionProtocolOptions__ = input.readMessage(
+ TypedExtensionProtocolOptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+ typedExtensionProtocolOptions_.getMutableMap().put(
+ typedExtensionProtocolOptions__.getKey(), typedExtensionProtocolOptions__.getValue());
+ break;
+ }
+ case 298: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.Builder subBuilder = null;
+ if (lbConfigCase_ == 37) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_).toBuilder();
+ }
+ lbConfig_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_);
+ lbConfig_ = subBuilder.buildPartial();
+ }
+ lbConfigCase_ = 37;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
+ hosts_ = java.util.Collections.unmodifiableList(hosts_);
+ }
+ if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
+ healthChecks_ = java.util.Collections.unmodifiableList(healthChecks_);
+ }
+ if (((mutable_bitField0_ & 0x00100000) == 0x00100000)) {
+ dnsResolvers_ = java.util.Collections.unmodifiableList(dnsResolvers_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_descriptor;
+ }
+
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 35:
+ return internalGetExtensionProtocolOptions();
+ case 36:
+ return internalGetTypedExtensionProtocolOptions();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.Builder.class);
+ }
+
+ /**
+ * <pre>
+ * Refer to :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * for an explanation on each type.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.api.v2.Cluster.DiscoveryType}
+ */
+ public enum DiscoveryType
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <pre>
+ * Refer to the :ref:`static discovery type&lt;arch_overview_service_discovery_types_static&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>STATIC = 0;</code>
+ */
+ STATIC(0),
+ /**
+ * <pre>
+ * Refer to the :ref:`strict DNS discovery
+ * type&lt;arch_overview_service_discovery_types_strict_dns&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>STRICT_DNS = 1;</code>
+ */
+ STRICT_DNS(1),
+ /**
+ * <pre>
+ * Refer to the :ref:`logical DNS discovery
+ * type&lt;arch_overview_service_discovery_types_logical_dns&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>LOGICAL_DNS = 2;</code>
+ */
+ LOGICAL_DNS(2),
+ /**
+ * <pre>
+ * Refer to the :ref:`service discovery type&lt;arch_overview_service_discovery_types_eds&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>EDS = 3;</code>
+ */
+ EDS(3),
+ /**
+ * <pre>
+ * Refer to the :ref:`original destination discovery
+ * type&lt;arch_overview_service_discovery_types_original_destination&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>ORIGINAL_DST = 4;</code>
+ */
+ ORIGINAL_DST(4),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <pre>
+ * Refer to the :ref:`static discovery type&lt;arch_overview_service_discovery_types_static&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>STATIC = 0;</code>
+ */
+ public static final int STATIC_VALUE = 0;
+ /**
+ * <pre>
+ * Refer to the :ref:`strict DNS discovery
+ * type&lt;arch_overview_service_discovery_types_strict_dns&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>STRICT_DNS = 1;</code>
+ */
+ public static final int STRICT_DNS_VALUE = 1;
+ /**
+ * <pre>
+ * Refer to the :ref:`logical DNS discovery
+ * type&lt;arch_overview_service_discovery_types_logical_dns&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>LOGICAL_DNS = 2;</code>
+ */
+ public static final int LOGICAL_DNS_VALUE = 2;
+ /**
+ * <pre>
+ * Refer to the :ref:`service discovery type&lt;arch_overview_service_discovery_types_eds&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>EDS = 3;</code>
+ */
+ public static final int EDS_VALUE = 3;
+ /**
+ * <pre>
+ * Refer to the :ref:`original destination discovery
+ * type&lt;arch_overview_service_discovery_types_original_destination&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>ORIGINAL_DST = 4;</code>
+ */
+ public static final int ORIGINAL_DST_VALUE = 4;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static DiscoveryType valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static DiscoveryType forNumber(int value) {
+ switch (value) {
+ case 0: return STATIC;
+ case 1: return STRICT_DNS;
+ case 2: return LOGICAL_DNS;
+ case 3: return EDS;
+ case 4: return ORIGINAL_DST;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<DiscoveryType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ DiscoveryType> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<DiscoveryType>() {
+ public DiscoveryType findValueByNumber(int number) {
+ return DiscoveryType.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final DiscoveryType[] VALUES = values();
+
+ public static DiscoveryType valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private DiscoveryType(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.Cluster.DiscoveryType)
+ }
+
+ /**
+ * <pre>
+ * Refer to :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` architecture
+ * overview section for information on each type.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.api.v2.Cluster.LbPolicy}
+ */
+ public enum LbPolicy
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <pre>
+ * Refer to the :ref:`round robin load balancing
+ * policy&lt;arch_overview_load_balancing_types_round_robin&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>ROUND_ROBIN = 0;</code>
+ */
+ ROUND_ROBIN(0),
+ /**
+ * <pre>
+ * Refer to the :ref:`least request load balancing
+ * policy&lt;arch_overview_load_balancing_types_least_request&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>LEAST_REQUEST = 1;</code>
+ */
+ LEAST_REQUEST(1),
+ /**
+ * <pre>
+ * Refer to the :ref:`ring hash load balancing
+ * policy&lt;arch_overview_load_balancing_types_ring_hash&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>RING_HASH = 2;</code>
+ */
+ RING_HASH(2),
+ /**
+ * <pre>
+ * Refer to the :ref:`random load balancing
+ * policy&lt;arch_overview_load_balancing_types_random&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>RANDOM = 3;</code>
+ */
+ RANDOM(3),
+ /**
+ * <pre>
+ * Refer to the :ref:`original destination load balancing
+ * policy&lt;arch_overview_load_balancing_types_original_destination&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>ORIGINAL_DST_LB = 4;</code>
+ */
+ ORIGINAL_DST_LB(4),
+ /**
+ * <pre>
+ * Refer to the :ref:`Maglev load balancing policy&lt;arch_overview_load_balancing_types_maglev&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>MAGLEV = 5;</code>
+ */
+ MAGLEV(5),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <pre>
+ * Refer to the :ref:`round robin load balancing
+ * policy&lt;arch_overview_load_balancing_types_round_robin&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>ROUND_ROBIN = 0;</code>
+ */
+ public static final int ROUND_ROBIN_VALUE = 0;
+ /**
+ * <pre>
+ * Refer to the :ref:`least request load balancing
+ * policy&lt;arch_overview_load_balancing_types_least_request&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>LEAST_REQUEST = 1;</code>
+ */
+ public static final int LEAST_REQUEST_VALUE = 1;
+ /**
+ * <pre>
+ * Refer to the :ref:`ring hash load balancing
+ * policy&lt;arch_overview_load_balancing_types_ring_hash&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>RING_HASH = 2;</code>
+ */
+ public static final int RING_HASH_VALUE = 2;
+ /**
+ * <pre>
+ * Refer to the :ref:`random load balancing
+ * policy&lt;arch_overview_load_balancing_types_random&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>RANDOM = 3;</code>
+ */
+ public static final int RANDOM_VALUE = 3;
+ /**
+ * <pre>
+ * Refer to the :ref:`original destination load balancing
+ * policy&lt;arch_overview_load_balancing_types_original_destination&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>ORIGINAL_DST_LB = 4;</code>
+ */
+ public static final int ORIGINAL_DST_LB_VALUE = 4;
+ /**
+ * <pre>
+ * Refer to the :ref:`Maglev load balancing policy&lt;arch_overview_load_balancing_types_maglev&gt;`
+ * for an explanation.
+ * </pre>
+ *
+ * <code>MAGLEV = 5;</code>
+ */
+ public static final int MAGLEV_VALUE = 5;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static LbPolicy valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static LbPolicy forNumber(int value) {
+ switch (value) {
+ case 0: return ROUND_ROBIN;
+ case 1: return LEAST_REQUEST;
+ case 2: return RING_HASH;
+ case 3: return RANDOM;
+ case 4: return ORIGINAL_DST_LB;
+ case 5: return MAGLEV;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<LbPolicy>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ LbPolicy> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<LbPolicy>() {
+ public LbPolicy findValueByNumber(int number) {
+ return LbPolicy.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.getDescriptor().getEnumTypes().get(1);
+ }
+
+ private static final LbPolicy[] VALUES = values();
+
+ public static LbPolicy valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private LbPolicy(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.Cluster.LbPolicy)
+ }
+
+ /**
+ * <pre>
+ * When V4_ONLY is selected, the DNS resolver will only perform a lookup for
+ * addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will
+ * only perform a lookup for addresses in the IPv6 family. If AUTO is
+ * specified, the DNS resolver will first perform a lookup for addresses in
+ * the IPv6 family and fallback to a lookup for addresses in the IPv4 family.
+ * For cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;` and
+ * :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this setting is
+ * ignored.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.api.v2.Cluster.DnsLookupFamily}
+ */
+ public enum DnsLookupFamily
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <code>AUTO = 0;</code>
+ */
+ AUTO(0),
+ /**
+ * <code>V4_ONLY = 1;</code>
+ */
+ V4_ONLY(1),
+ /**
+ * <code>V6_ONLY = 2;</code>
+ */
+ V6_ONLY(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <code>AUTO = 0;</code>
+ */
+ public static final int AUTO_VALUE = 0;
+ /**
+ * <code>V4_ONLY = 1;</code>
+ */
+ public static final int V4_ONLY_VALUE = 1;
+ /**
+ * <code>V6_ONLY = 2;</code>
+ */
+ public static final int V6_ONLY_VALUE = 2;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static DnsLookupFamily valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static DnsLookupFamily forNumber(int value) {
+ switch (value) {
+ case 0: return AUTO;
+ case 1: return V4_ONLY;
+ case 2: return V6_ONLY;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<DnsLookupFamily>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ DnsLookupFamily> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<DnsLookupFamily>() {
+ public DnsLookupFamily findValueByNumber(int number) {
+ return DnsLookupFamily.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.getDescriptor().getEnumTypes().get(2);
+ }
+
+ private static final DnsLookupFamily[] VALUES = values();
+
+ public static DnsLookupFamily valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private DnsLookupFamily(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.Cluster.DnsLookupFamily)
+ }
+
+ /**
+ * Protobuf enum {@code envoy.api.v2.Cluster.ClusterProtocolSelection}
+ */
+ public enum ClusterProtocolSelection
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <pre>
+ * Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2).
+ * If :ref:`http2_protocol_options &lt;envoy_api_field_Cluster.http2_protocol_options&gt;` are
+ * present, HTTP2 will be used, otherwise HTTP1.1 will be used.
+ * </pre>
+ *
+ * <code>USE_CONFIGURED_PROTOCOL = 0;</code>
+ */
+ USE_CONFIGURED_PROTOCOL(0),
+ /**
+ * <pre>
+ * Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection.
+ * </pre>
+ *
+ * <code>USE_DOWNSTREAM_PROTOCOL = 1;</code>
+ */
+ USE_DOWNSTREAM_PROTOCOL(1),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <pre>
+ * Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2).
+ * If :ref:`http2_protocol_options &lt;envoy_api_field_Cluster.http2_protocol_options&gt;` are
+ * present, HTTP2 will be used, otherwise HTTP1.1 will be used.
+ * </pre>
+ *
+ * <code>USE_CONFIGURED_PROTOCOL = 0;</code>
+ */
+ public static final int USE_CONFIGURED_PROTOCOL_VALUE = 0;
+ /**
+ * <pre>
+ * Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection.
+ * </pre>
+ *
+ * <code>USE_DOWNSTREAM_PROTOCOL = 1;</code>
+ */
+ public static final int USE_DOWNSTREAM_PROTOCOL_VALUE = 1;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ClusterProtocolSelection valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static ClusterProtocolSelection forNumber(int value) {
+ switch (value) {
+ case 0: return USE_CONFIGURED_PROTOCOL;
+ case 1: return USE_DOWNSTREAM_PROTOCOL;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<ClusterProtocolSelection>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ ClusterProtocolSelection> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<ClusterProtocolSelection>() {
+ public ClusterProtocolSelection findValueByNumber(int number) {
+ return ClusterProtocolSelection.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.getDescriptor().getEnumTypes().get(3);
+ }
+
+ private static final ClusterProtocolSelection[] VALUES = values();
+
+ public static ClusterProtocolSelection valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private ClusterProtocolSelection(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.Cluster.ClusterProtocolSelection)
+ }
+
+ public interface EdsClusterConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.EdsClusterConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ boolean hasEdsConfig();
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getEdsConfig();
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder getEdsConfigOrBuilder();
+
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ java.lang.String getServiceName();
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getServiceNameBytes();
+ }
+ /**
+ * <pre>
+ * Only valid when discovery type is EDS.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.EdsClusterConfig}
+ */
+ public static final class EdsClusterConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.EdsClusterConfig)
+ EdsClusterConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use EdsClusterConfig.newBuilder() to construct.
+ private EdsClusterConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private EdsClusterConfig() {
+ serviceName_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private EdsClusterConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder subBuilder = null;
+ if (edsConfig_ != null) {
+ subBuilder = edsConfig_.toBuilder();
+ }
+ edsConfig_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(edsConfig_);
+ edsConfig_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ serviceName_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_EdsClusterConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_EdsClusterConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.Builder.class);
+ }
+
+ public static final int EDS_CONFIG_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource edsConfig_;
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public boolean hasEdsConfig() {
+ return edsConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getEdsConfig() {
+ return edsConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.getDefaultInstance() : edsConfig_;
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder getEdsConfigOrBuilder() {
+ return getEdsConfig();
+ }
+
+ public static final int SERVICE_NAME_FIELD_NUMBER = 2;
+ private volatile java.lang.Object serviceName_;
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ public java.lang.String getServiceName() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getServiceNameBytes() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ serviceName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (edsConfig_ != null) {
+ output.writeMessage(1, getEdsConfig());
+ }
+ if (!getServiceNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, serviceName_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (edsConfig_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getEdsConfig());
+ }
+ if (!getServiceNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, serviceName_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig) obj;
+
+ boolean result = true;
+ result = result && (hasEdsConfig() == other.hasEdsConfig());
+ if (hasEdsConfig()) {
+ result = result && getEdsConfig()
+ .equals(other.getEdsConfig());
+ }
+ result = result && getServiceName()
+ .equals(other.getServiceName());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasEdsConfig()) {
+ hash = (37 * hash) + EDS_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getEdsConfig().hashCode();
+ }
+ hash = (37 * hash) + SERVICE_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getServiceName().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Only valid when discovery type is EDS.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.EdsClusterConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.EdsClusterConfig)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_EdsClusterConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_EdsClusterConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (edsConfigBuilder_ == null) {
+ edsConfig_ = null;
+ } else {
+ edsConfig_ = null;
+ edsConfigBuilder_ = null;
+ }
+ serviceName_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_EdsClusterConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig(this);
+ if (edsConfigBuilder_ == null) {
+ result.edsConfig_ = edsConfig_;
+ } else {
+ result.edsConfig_ = edsConfigBuilder_.build();
+ }
+ result.serviceName_ = serviceName_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.getDefaultInstance()) return this;
+ if (other.hasEdsConfig()) {
+ mergeEdsConfig(other.getEdsConfig());
+ }
+ if (!other.getServiceName().isEmpty()) {
+ serviceName_ = other.serviceName_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource edsConfig_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder> edsConfigBuilder_;
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public boolean hasEdsConfig() {
+ return edsConfigBuilder_ != null || edsConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getEdsConfig() {
+ if (edsConfigBuilder_ == null) {
+ return edsConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.getDefaultInstance() : edsConfig_;
+ } else {
+ return edsConfigBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public Builder setEdsConfig(io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource value) {
+ if (edsConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ edsConfig_ = value;
+ onChanged();
+ } else {
+ edsConfigBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public Builder setEdsConfig(
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder builderForValue) {
+ if (edsConfigBuilder_ == null) {
+ edsConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ edsConfigBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public Builder mergeEdsConfig(io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource value) {
+ if (edsConfigBuilder_ == null) {
+ if (edsConfig_ != null) {
+ edsConfig_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.newBuilder(edsConfig_).mergeFrom(value).buildPartial();
+ } else {
+ edsConfig_ = value;
+ }
+ onChanged();
+ } else {
+ edsConfigBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public Builder clearEdsConfig() {
+ if (edsConfigBuilder_ == null) {
+ edsConfig_ = null;
+ onChanged();
+ } else {
+ edsConfig_ = null;
+ edsConfigBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder getEdsConfigBuilder() {
+
+ onChanged();
+ return getEdsConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder getEdsConfigOrBuilder() {
+ if (edsConfigBuilder_ != null) {
+ return edsConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return edsConfig_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.getDefaultInstance() : edsConfig_;
+ }
+ }
+ /**
+ * <pre>
+ * Configuration for the source of EDS updates for this Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ConfigSource eds_config = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder>
+ getEdsConfigFieldBuilder() {
+ if (edsConfigBuilder_ == null) {
+ edsConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder>(
+ getEdsConfig(),
+ getParentForChildren(),
+ isClean());
+ edsConfig_ = null;
+ }
+ return edsConfigBuilder_;
+ }
+
+ private java.lang.Object serviceName_ = "";
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ public java.lang.String getServiceName() {
+ java.lang.Object ref = serviceName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getServiceNameBytes() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ serviceName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ public Builder setServiceName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ serviceName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ public Builder clearServiceName() {
+
+ serviceName_ = getDefaultInstance().getServiceName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional alternative to cluster name to present to EDS. This does not
+ * have the same restrictions as cluster name, i.e. it may be arbitrary
+ * length.
+ * </pre>
+ *
+ * <code>string service_name = 2;</code>
+ */
+ public Builder setServiceNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ serviceName_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.EdsClusterConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.EdsClusterConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<EdsClusterConfig>
+ PARSER = new com.google.protobuf.AbstractParser<EdsClusterConfig>() {
+ public EdsClusterConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new EdsClusterConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<EdsClusterConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<EdsClusterConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface LbSubsetConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.LbSubsetConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ int getFallbackPolicyValue();
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy getFallbackPolicy();
+
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ boolean hasDefaultSubset();
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ com.google.protobuf.Struct getDefaultSubset();
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ com.google.protobuf.StructOrBuilder getDefaultSubsetOrBuilder();
+
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector>
+ getSubsetSelectorsList();
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector getSubsetSelectors(int index);
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ int getSubsetSelectorsCount();
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder>
+ getSubsetSelectorsOrBuilderList();
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder getSubsetSelectorsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * If true, routing to subsets will take into account the localities and locality weights of the
+ * endpoints when making the routing decision.
+ * There are some potential pitfalls associated with enabling this feature, as the resulting
+ * traffic split after applying both a subset match and locality weights might be undesirable.
+ * Consider for example a situation in which you have 50/50 split across two localities X/Y
+ * which have 100 hosts each without subsetting. If the subset LB results in X having only 1
+ * host selected but Y having 100, then a lot more load is being dumped on the single host in X
+ * than originally anticipated in the load balancing assignment delivered via EDS.
+ * </pre>
+ *
+ * <code>bool locality_weight_aware = 4;</code>
+ */
+ boolean getLocalityWeightAware();
+
+ /**
+ * <pre>
+ * When used with locality_weight_aware, scales the weight of each locality by the ratio
+ * of hosts in the subset vs hosts in the original subset. This aims to even out the load
+ * going to an individual locality if said locality is disproportionally affected by the
+ * subset predicate.
+ * </pre>
+ *
+ * <code>bool scale_locality_weight = 5;</code>
+ */
+ boolean getScaleLocalityWeight();
+ }
+ /**
+ * <pre>
+ * Optionally divide the endpoints in this cluster into subsets defined by
+ * endpoint metadata and selected by route and weighted cluster metadata.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.LbSubsetConfig}
+ */
+ public static final class LbSubsetConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.LbSubsetConfig)
+ LbSubsetConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use LbSubsetConfig.newBuilder() to construct.
+ private LbSubsetConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private LbSubsetConfig() {
+ fallbackPolicy_ = 0;
+ subsetSelectors_ = java.util.Collections.emptyList();
+ localityWeightAware_ = false;
+ scaleLocalityWeight_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private LbSubsetConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ int rawValue = input.readEnum();
+
+ fallbackPolicy_ = rawValue;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Struct.Builder subBuilder = null;
+ if (defaultSubset_ != null) {
+ subBuilder = defaultSubset_.toBuilder();
+ }
+ defaultSubset_ = input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(defaultSubset_);
+ defaultSubset_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ subsetSelectors_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector>();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ subsetSelectors_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.parser(), extensionRegistry));
+ break;
+ }
+ case 32: {
+
+ localityWeightAware_ = input.readBool();
+ break;
+ }
+ case 40: {
+
+ scaleLocalityWeight_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ subsetSelectors_ = java.util.Collections.unmodifiableList(subsetSelectors_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.Builder.class);
+ }
+
+ /**
+ * <pre>
+ * If NO_FALLBACK is selected, a result
+ * equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected,
+ * any cluster endpoint may be returned (subject to policy, health checks,
+ * etc). If DEFAULT_SUBSET is selected, load balancing is performed over the
+ * endpoints matching the values from the default_subset field.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy}
+ */
+ public enum LbSubsetFallbackPolicy
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <code>NO_FALLBACK = 0;</code>
+ */
+ NO_FALLBACK(0),
+ /**
+ * <code>ANY_ENDPOINT = 1;</code>
+ */
+ ANY_ENDPOINT(1),
+ /**
+ * <code>DEFAULT_SUBSET = 2;</code>
+ */
+ DEFAULT_SUBSET(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <code>NO_FALLBACK = 0;</code>
+ */
+ public static final int NO_FALLBACK_VALUE = 0;
+ /**
+ * <code>ANY_ENDPOINT = 1;</code>
+ */
+ public static final int ANY_ENDPOINT_VALUE = 1;
+ /**
+ * <code>DEFAULT_SUBSET = 2;</code>
+ */
+ public static final int DEFAULT_SUBSET_VALUE = 2;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static LbSubsetFallbackPolicy valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static LbSubsetFallbackPolicy forNumber(int value) {
+ switch (value) {
+ case 0: return NO_FALLBACK;
+ case 1: return ANY_ENDPOINT;
+ case 2: return DEFAULT_SUBSET;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<LbSubsetFallbackPolicy>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ LbSubsetFallbackPolicy> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<LbSubsetFallbackPolicy>() {
+ public LbSubsetFallbackPolicy findValueByNumber(int number) {
+ return LbSubsetFallbackPolicy.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final LbSubsetFallbackPolicy[] VALUES = values();
+
+ public static LbSubsetFallbackPolicy valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private LbSubsetFallbackPolicy(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy)
+ }
+
+ public interface LbSubsetSelectorOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ java.util.List<java.lang.String>
+ getKeysList();
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ int getKeysCount();
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ java.lang.String getKeys(int index);
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getKeysBytes(int index);
+ }
+ /**
+ * <pre>
+ * Specifications for subsets.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector}
+ */
+ public static final class LbSubsetSelector extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector)
+ LbSubsetSelectorOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use LbSubsetSelector.newBuilder() to construct.
+ private LbSubsetSelector(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private LbSubsetSelector() {
+ keys_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private LbSubsetSelector(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ keys_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000001;
+ }
+ keys_.add(s);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ keys_ = keys_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder.class);
+ }
+
+ public static final int KEYS_FIELD_NUMBER = 1;
+ private com.google.protobuf.LazyStringList keys_;
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getKeysList() {
+ return keys_;
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public int getKeysCount() {
+ return keys_.size();
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public java.lang.String getKeys(int index) {
+ return keys_.get(index);
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getKeysBytes(int index) {
+ return keys_.getByteString(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ for (int i = 0; i < keys_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, keys_.getRaw(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ {
+ int dataSize = 0;
+ for (int i = 0; i < keys_.size(); i++) {
+ dataSize += computeStringSizeNoTag(keys_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getKeysList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector) obj;
+
+ boolean result = true;
+ result = result && getKeysList()
+ .equals(other.getKeysList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (getKeysCount() > 0) {
+ hash = (37 * hash) + KEYS_FIELD_NUMBER;
+ hash = (53 * hash) + getKeysList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Specifications for subsets.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ keys_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector(this);
+ int from_bitField0_ = bitField0_;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ keys_ = keys_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ }
+ result.keys_ = keys_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.getDefaultInstance()) return this;
+ if (!other.keys_.isEmpty()) {
+ if (keys_.isEmpty()) {
+ keys_ = other.keys_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ ensureKeysIsMutable();
+ keys_.addAll(other.keys_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private com.google.protobuf.LazyStringList keys_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureKeysIsMutable() {
+ if (!((bitField0_ & 0x00000001) == 0x00000001)) {
+ keys_ = new com.google.protobuf.LazyStringArrayList(keys_);
+ bitField0_ |= 0x00000001;
+ }
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getKeysList() {
+ return keys_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public int getKeysCount() {
+ return keys_.size();
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public java.lang.String getKeys(int index) {
+ return keys_.get(index);
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getKeysBytes(int index) {
+ return keys_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public Builder setKeys(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureKeysIsMutable();
+ keys_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public Builder addKeys(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureKeysIsMutable();
+ keys_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public Builder addAllKeys(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureKeysIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, keys_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public Builder clearKeys() {
+ keys_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * List of keys to match with the weighted cluster metadata.
+ * </pre>
+ *
+ * <code>repeated string keys = 1;</code>
+ */
+ public Builder addKeysBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureKeysIsMutable();
+ keys_.add(value);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<LbSubsetSelector>
+ PARSER = new com.google.protobuf.AbstractParser<LbSubsetSelector>() {
+ public LbSubsetSelector parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new LbSubsetSelector(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<LbSubsetSelector> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<LbSubsetSelector> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int bitField0_;
+ public static final int FALLBACK_POLICY_FIELD_NUMBER = 1;
+ private int fallbackPolicy_;
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getFallbackPolicyValue() {
+ return fallbackPolicy_;
+ }
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy getFallbackPolicy() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy result = io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.valueOf(fallbackPolicy_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.UNRECOGNIZED : result;
+ }
+
+ public static final int DEFAULT_SUBSET_FIELD_NUMBER = 2;
+ private com.google.protobuf.Struct defaultSubset_;
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public boolean hasDefaultSubset() {
+ return defaultSubset_ != null;
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public com.google.protobuf.Struct getDefaultSubset() {
+ return defaultSubset_ == null ? com.google.protobuf.Struct.getDefaultInstance() : defaultSubset_;
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getDefaultSubsetOrBuilder() {
+ return getDefaultSubset();
+ }
+
+ public static final int SUBSET_SELECTORS_FIELD_NUMBER = 3;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector> subsetSelectors_;
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector> getSubsetSelectorsList() {
+ return subsetSelectors_;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder>
+ getSubsetSelectorsOrBuilderList() {
+ return subsetSelectors_;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public int getSubsetSelectorsCount() {
+ return subsetSelectors_.size();
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector getSubsetSelectors(int index) {
+ return subsetSelectors_.get(index);
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder getSubsetSelectorsOrBuilder(
+ int index) {
+ return subsetSelectors_.get(index);
+ }
+
+ public static final int LOCALITY_WEIGHT_AWARE_FIELD_NUMBER = 4;
+ private boolean localityWeightAware_;
+ /**
+ * <pre>
+ * If true, routing to subsets will take into account the localities and locality weights of the
+ * endpoints when making the routing decision.
+ * There are some potential pitfalls associated with enabling this feature, as the resulting
+ * traffic split after applying both a subset match and locality weights might be undesirable.
+ * Consider for example a situation in which you have 50/50 split across two localities X/Y
+ * which have 100 hosts each without subsetting. If the subset LB results in X having only 1
+ * host selected but Y having 100, then a lot more load is being dumped on the single host in X
+ * than originally anticipated in the load balancing assignment delivered via EDS.
+ * </pre>
+ *
+ * <code>bool locality_weight_aware = 4;</code>
+ */
+ public boolean getLocalityWeightAware() {
+ return localityWeightAware_;
+ }
+
+ public static final int SCALE_LOCALITY_WEIGHT_FIELD_NUMBER = 5;
+ private boolean scaleLocalityWeight_;
+ /**
+ * <pre>
+ * When used with locality_weight_aware, scales the weight of each locality by the ratio
+ * of hosts in the subset vs hosts in the original subset. This aims to even out the load
+ * going to an individual locality if said locality is disproportionally affected by the
+ * subset predicate.
+ * </pre>
+ *
+ * <code>bool scale_locality_weight = 5;</code>
+ */
+ public boolean getScaleLocalityWeight() {
+ return scaleLocalityWeight_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (fallbackPolicy_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK.getNumber()) {
+ output.writeEnum(1, fallbackPolicy_);
+ }
+ if (defaultSubset_ != null) {
+ output.writeMessage(2, getDefaultSubset());
+ }
+ for (int i = 0; i < subsetSelectors_.size(); i++) {
+ output.writeMessage(3, subsetSelectors_.get(i));
+ }
+ if (localityWeightAware_ != false) {
+ output.writeBool(4, localityWeightAware_);
+ }
+ if (scaleLocalityWeight_ != false) {
+ output.writeBool(5, scaleLocalityWeight_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (fallbackPolicy_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(1, fallbackPolicy_);
+ }
+ if (defaultSubset_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getDefaultSubset());
+ }
+ for (int i = 0; i < subsetSelectors_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, subsetSelectors_.get(i));
+ }
+ if (localityWeightAware_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(4, localityWeightAware_);
+ }
+ if (scaleLocalityWeight_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(5, scaleLocalityWeight_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig) obj;
+
+ boolean result = true;
+ result = result && fallbackPolicy_ == other.fallbackPolicy_;
+ result = result && (hasDefaultSubset() == other.hasDefaultSubset());
+ if (hasDefaultSubset()) {
+ result = result && getDefaultSubset()
+ .equals(other.getDefaultSubset());
+ }
+ result = result && getSubsetSelectorsList()
+ .equals(other.getSubsetSelectorsList());
+ result = result && (getLocalityWeightAware()
+ == other.getLocalityWeightAware());
+ result = result && (getScaleLocalityWeight()
+ == other.getScaleLocalityWeight());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + FALLBACK_POLICY_FIELD_NUMBER;
+ hash = (53 * hash) + fallbackPolicy_;
+ if (hasDefaultSubset()) {
+ hash = (37 * hash) + DEFAULT_SUBSET_FIELD_NUMBER;
+ hash = (53 * hash) + getDefaultSubset().hashCode();
+ }
+ if (getSubsetSelectorsCount() > 0) {
+ hash = (37 * hash) + SUBSET_SELECTORS_FIELD_NUMBER;
+ hash = (53 * hash) + getSubsetSelectorsList().hashCode();
+ }
+ hash = (37 * hash) + LOCALITY_WEIGHT_AWARE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getLocalityWeightAware());
+ hash = (37 * hash) + SCALE_LOCALITY_WEIGHT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getScaleLocalityWeight());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Optionally divide the endpoints in this cluster into subsets defined by
+ * endpoint metadata and selected by route and weighted cluster metadata.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.LbSubsetConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.LbSubsetConfig)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getSubsetSelectorsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ fallbackPolicy_ = 0;
+
+ if (defaultSubsetBuilder_ == null) {
+ defaultSubset_ = null;
+ } else {
+ defaultSubset_ = null;
+ defaultSubsetBuilder_ = null;
+ }
+ if (subsetSelectorsBuilder_ == null) {
+ subsetSelectors_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ subsetSelectorsBuilder_.clear();
+ }
+ localityWeightAware_ = false;
+
+ scaleLocalityWeight_ = false;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LbSubsetConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.fallbackPolicy_ = fallbackPolicy_;
+ if (defaultSubsetBuilder_ == null) {
+ result.defaultSubset_ = defaultSubset_;
+ } else {
+ result.defaultSubset_ = defaultSubsetBuilder_.build();
+ }
+ if (subsetSelectorsBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ subsetSelectors_ = java.util.Collections.unmodifiableList(subsetSelectors_);
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.subsetSelectors_ = subsetSelectors_;
+ } else {
+ result.subsetSelectors_ = subsetSelectorsBuilder_.build();
+ }
+ result.localityWeightAware_ = localityWeightAware_;
+ result.scaleLocalityWeight_ = scaleLocalityWeight_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.getDefaultInstance()) return this;
+ if (other.fallbackPolicy_ != 0) {
+ setFallbackPolicyValue(other.getFallbackPolicyValue());
+ }
+ if (other.hasDefaultSubset()) {
+ mergeDefaultSubset(other.getDefaultSubset());
+ }
+ if (subsetSelectorsBuilder_ == null) {
+ if (!other.subsetSelectors_.isEmpty()) {
+ if (subsetSelectors_.isEmpty()) {
+ subsetSelectors_ = other.subsetSelectors_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureSubsetSelectorsIsMutable();
+ subsetSelectors_.addAll(other.subsetSelectors_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.subsetSelectors_.isEmpty()) {
+ if (subsetSelectorsBuilder_.isEmpty()) {
+ subsetSelectorsBuilder_.dispose();
+ subsetSelectorsBuilder_ = null;
+ subsetSelectors_ = other.subsetSelectors_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ subsetSelectorsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getSubsetSelectorsFieldBuilder() : null;
+ } else {
+ subsetSelectorsBuilder_.addAllMessages(other.subsetSelectors_);
+ }
+ }
+ }
+ if (other.getLocalityWeightAware() != false) {
+ setLocalityWeightAware(other.getLocalityWeightAware());
+ }
+ if (other.getScaleLocalityWeight() != false) {
+ setScaleLocalityWeight(other.getScaleLocalityWeight());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int fallbackPolicy_ = 0;
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getFallbackPolicyValue() {
+ return fallbackPolicy_;
+ }
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setFallbackPolicyValue(int value) {
+ fallbackPolicy_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy getFallbackPolicy() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy result = io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.valueOf(fallbackPolicy_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setFallbackPolicy(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ fallbackPolicy_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The behavior used when no endpoint subset matches the selected route's
+ * metadata. The value defaults to
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetFallbackPolicy fallback_policy = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearFallbackPolicy() {
+
+ fallbackPolicy_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Struct defaultSubset_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> defaultSubsetBuilder_;
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public boolean hasDefaultSubset() {
+ return defaultSubsetBuilder_ != null || defaultSubset_ != null;
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public com.google.protobuf.Struct getDefaultSubset() {
+ if (defaultSubsetBuilder_ == null) {
+ return defaultSubset_ == null ? com.google.protobuf.Struct.getDefaultInstance() : defaultSubset_;
+ } else {
+ return defaultSubsetBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public Builder setDefaultSubset(com.google.protobuf.Struct value) {
+ if (defaultSubsetBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ defaultSubset_ = value;
+ onChanged();
+ } else {
+ defaultSubsetBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public Builder setDefaultSubset(
+ com.google.protobuf.Struct.Builder builderForValue) {
+ if (defaultSubsetBuilder_ == null) {
+ defaultSubset_ = builderForValue.build();
+ onChanged();
+ } else {
+ defaultSubsetBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public Builder mergeDefaultSubset(com.google.protobuf.Struct value) {
+ if (defaultSubsetBuilder_ == null) {
+ if (defaultSubset_ != null) {
+ defaultSubset_ =
+ com.google.protobuf.Struct.newBuilder(defaultSubset_).mergeFrom(value).buildPartial();
+ } else {
+ defaultSubset_ = value;
+ }
+ onChanged();
+ } else {
+ defaultSubsetBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public Builder clearDefaultSubset() {
+ if (defaultSubsetBuilder_ == null) {
+ defaultSubset_ = null;
+ onChanged();
+ } else {
+ defaultSubset_ = null;
+ defaultSubsetBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public com.google.protobuf.Struct.Builder getDefaultSubsetBuilder() {
+
+ onChanged();
+ return getDefaultSubsetFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getDefaultSubsetOrBuilder() {
+ if (defaultSubsetBuilder_ != null) {
+ return defaultSubsetBuilder_.getMessageOrBuilder();
+ } else {
+ return defaultSubset_ == null ?
+ com.google.protobuf.Struct.getDefaultInstance() : defaultSubset_;
+ }
+ }
+ /**
+ * <pre>
+ * Specifies the default subset of endpoints used during fallback if
+ * fallback_policy is
+ * :ref:`DEFAULT_SUBSET&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET&gt;`.
+ * Each field in default_subset is
+ * compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ * namespace. It is valid for no hosts to match, in which case the behavior
+ * is the same as a fallback_policy of
+ * :ref:`NO_FALLBACK&lt;envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct default_subset = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>
+ getDefaultSubsetFieldBuilder() {
+ if (defaultSubsetBuilder_ == null) {
+ defaultSubsetBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>(
+ getDefaultSubset(),
+ getParentForChildren(),
+ isClean());
+ defaultSubset_ = null;
+ }
+ return defaultSubsetBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector> subsetSelectors_ =
+ java.util.Collections.emptyList();
+ private void ensureSubsetSelectorsIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ subsetSelectors_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector>(subsetSelectors_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder> subsetSelectorsBuilder_;
+
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector> getSubsetSelectorsList() {
+ if (subsetSelectorsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(subsetSelectors_);
+ } else {
+ return subsetSelectorsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public int getSubsetSelectorsCount() {
+ if (subsetSelectorsBuilder_ == null) {
+ return subsetSelectors_.size();
+ } else {
+ return subsetSelectorsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector getSubsetSelectors(int index) {
+ if (subsetSelectorsBuilder_ == null) {
+ return subsetSelectors_.get(index);
+ } else {
+ return subsetSelectorsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder setSubsetSelectors(
+ int index, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector value) {
+ if (subsetSelectorsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSubsetSelectorsIsMutable();
+ subsetSelectors_.set(index, value);
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder setSubsetSelectors(
+ int index, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder builderForValue) {
+ if (subsetSelectorsBuilder_ == null) {
+ ensureSubsetSelectorsIsMutable();
+ subsetSelectors_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder addSubsetSelectors(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector value) {
+ if (subsetSelectorsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSubsetSelectorsIsMutable();
+ subsetSelectors_.add(value);
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder addSubsetSelectors(
+ int index, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector value) {
+ if (subsetSelectorsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSubsetSelectorsIsMutable();
+ subsetSelectors_.add(index, value);
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder addSubsetSelectors(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder builderForValue) {
+ if (subsetSelectorsBuilder_ == null) {
+ ensureSubsetSelectorsIsMutable();
+ subsetSelectors_.add(builderForValue.build());
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder addSubsetSelectors(
+ int index, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder builderForValue) {
+ if (subsetSelectorsBuilder_ == null) {
+ ensureSubsetSelectorsIsMutable();
+ subsetSelectors_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder addAllSubsetSelectors(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector> values) {
+ if (subsetSelectorsBuilder_ == null) {
+ ensureSubsetSelectorsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, subsetSelectors_);
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder clearSubsetSelectors() {
+ if (subsetSelectorsBuilder_ == null) {
+ subsetSelectors_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public Builder removeSubsetSelectors(int index) {
+ if (subsetSelectorsBuilder_ == null) {
+ ensureSubsetSelectorsIsMutable();
+ subsetSelectors_.remove(index);
+ onChanged();
+ } else {
+ subsetSelectorsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder getSubsetSelectorsBuilder(
+ int index) {
+ return getSubsetSelectorsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder getSubsetSelectorsOrBuilder(
+ int index) {
+ if (subsetSelectorsBuilder_ == null) {
+ return subsetSelectors_.get(index); } else {
+ return subsetSelectorsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder>
+ getSubsetSelectorsOrBuilderList() {
+ if (subsetSelectorsBuilder_ != null) {
+ return subsetSelectorsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(subsetSelectors_);
+ }
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder addSubsetSelectorsBuilder() {
+ return getSubsetSelectorsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder addSubsetSelectorsBuilder(
+ int index) {
+ return getSubsetSelectorsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * For each entry, LbEndpoint.Metadata's
+ * *envoy.lb* namespace is traversed and a subset is created for each unique
+ * combination of key and value. For example:
+ * .. code-block:: json
+ * { "subset_selectors": [
+ * { "keys": [ "version" ] },
+ * { "keys": [ "stage", "hardware_type" ] }
+ * ]}
+ * A subset is matched when the metadata from the selected route and
+ * weighted cluster contains the same keys and values as the subset's
+ * metadata. The same host may appear in multiple subsets.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector subset_selectors = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder>
+ getSubsetSelectorsBuilderList() {
+ return getSubsetSelectorsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder>
+ getSubsetSelectorsFieldBuilder() {
+ if (subsetSelectorsBuilder_ == null) {
+ subsetSelectorsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelector.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.LbSubsetSelectorOrBuilder>(
+ subsetSelectors_,
+ ((bitField0_ & 0x00000004) == 0x00000004),
+ getParentForChildren(),
+ isClean());
+ subsetSelectors_ = null;
+ }
+ return subsetSelectorsBuilder_;
+ }
+
+ private boolean localityWeightAware_ ;
+ /**
+ * <pre>
+ * If true, routing to subsets will take into account the localities and locality weights of the
+ * endpoints when making the routing decision.
+ * There are some potential pitfalls associated with enabling this feature, as the resulting
+ * traffic split after applying both a subset match and locality weights might be undesirable.
+ * Consider for example a situation in which you have 50/50 split across two localities X/Y
+ * which have 100 hosts each without subsetting. If the subset LB results in X having only 1
+ * host selected but Y having 100, then a lot more load is being dumped on the single host in X
+ * than originally anticipated in the load balancing assignment delivered via EDS.
+ * </pre>
+ *
+ * <code>bool locality_weight_aware = 4;</code>
+ */
+ public boolean getLocalityWeightAware() {
+ return localityWeightAware_;
+ }
+ /**
+ * <pre>
+ * If true, routing to subsets will take into account the localities and locality weights of the
+ * endpoints when making the routing decision.
+ * There are some potential pitfalls associated with enabling this feature, as the resulting
+ * traffic split after applying both a subset match and locality weights might be undesirable.
+ * Consider for example a situation in which you have 50/50 split across two localities X/Y
+ * which have 100 hosts each without subsetting. If the subset LB results in X having only 1
+ * host selected but Y having 100, then a lot more load is being dumped on the single host in X
+ * than originally anticipated in the load balancing assignment delivered via EDS.
+ * </pre>
+ *
+ * <code>bool locality_weight_aware = 4;</code>
+ */
+ public Builder setLocalityWeightAware(boolean value) {
+
+ localityWeightAware_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If true, routing to subsets will take into account the localities and locality weights of the
+ * endpoints when making the routing decision.
+ * There are some potential pitfalls associated with enabling this feature, as the resulting
+ * traffic split after applying both a subset match and locality weights might be undesirable.
+ * Consider for example a situation in which you have 50/50 split across two localities X/Y
+ * which have 100 hosts each without subsetting. If the subset LB results in X having only 1
+ * host selected but Y having 100, then a lot more load is being dumped on the single host in X
+ * than originally anticipated in the load balancing assignment delivered via EDS.
+ * </pre>
+ *
+ * <code>bool locality_weight_aware = 4;</code>
+ */
+ public Builder clearLocalityWeightAware() {
+
+ localityWeightAware_ = false;
+ onChanged();
+ return this;
+ }
+
+ private boolean scaleLocalityWeight_ ;
+ /**
+ * <pre>
+ * When used with locality_weight_aware, scales the weight of each locality by the ratio
+ * of hosts in the subset vs hosts in the original subset. This aims to even out the load
+ * going to an individual locality if said locality is disproportionally affected by the
+ * subset predicate.
+ * </pre>
+ *
+ * <code>bool scale_locality_weight = 5;</code>
+ */
+ public boolean getScaleLocalityWeight() {
+ return scaleLocalityWeight_;
+ }
+ /**
+ * <pre>
+ * When used with locality_weight_aware, scales the weight of each locality by the ratio
+ * of hosts in the subset vs hosts in the original subset. This aims to even out the load
+ * going to an individual locality if said locality is disproportionally affected by the
+ * subset predicate.
+ * </pre>
+ *
+ * <code>bool scale_locality_weight = 5;</code>
+ */
+ public Builder setScaleLocalityWeight(boolean value) {
+
+ scaleLocalityWeight_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * When used with locality_weight_aware, scales the weight of each locality by the ratio
+ * of hosts in the subset vs hosts in the original subset. This aims to even out the load
+ * going to an individual locality if said locality is disproportionally affected by the
+ * subset predicate.
+ * </pre>
+ *
+ * <code>bool scale_locality_weight = 5;</code>
+ */
+ public Builder clearScaleLocalityWeight() {
+
+ scaleLocalityWeight_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.LbSubsetConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.LbSubsetConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<LbSubsetConfig>
+ PARSER = new com.google.protobuf.AbstractParser<LbSubsetConfig>() {
+ public LbSubsetConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new LbSubsetConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<LbSubsetConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<LbSubsetConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface LeastRequestLbConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.LeastRequestLbConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasChoiceCount();
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getChoiceCount();
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getChoiceCountOrBuilder();
+ }
+ /**
+ * <pre>
+ * Specific configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.LeastRequestLbConfig}
+ */
+ public static final class LeastRequestLbConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.LeastRequestLbConfig)
+ LeastRequestLbConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use LeastRequestLbConfig.newBuilder() to construct.
+ private LeastRequestLbConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private LeastRequestLbConfig() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private LeastRequestLbConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (choiceCount_ != null) {
+ subBuilder = choiceCount_.toBuilder();
+ }
+ choiceCount_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(choiceCount_);
+ choiceCount_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.Builder.class);
+ }
+
+ public static final int CHOICE_COUNT_FIELD_NUMBER = 1;
+ private com.google.protobuf.UInt32Value choiceCount_;
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasChoiceCount() {
+ return choiceCount_ != null;
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getChoiceCount() {
+ return choiceCount_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : choiceCount_;
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getChoiceCountOrBuilder() {
+ return getChoiceCount();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (choiceCount_ != null) {
+ output.writeMessage(1, getChoiceCount());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (choiceCount_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getChoiceCount());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) obj;
+
+ boolean result = true;
+ result = result && (hasChoiceCount() == other.hasChoiceCount());
+ if (hasChoiceCount()) {
+ result = result && getChoiceCount()
+ .equals(other.getChoiceCount());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasChoiceCount()) {
+ hash = (37 * hash) + CHOICE_COUNT_FIELD_NUMBER;
+ hash = (53 * hash) + getChoiceCount().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Specific configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.LeastRequestLbConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.LeastRequestLbConfig)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (choiceCountBuilder_ == null) {
+ choiceCount_ = null;
+ } else {
+ choiceCount_ = null;
+ choiceCountBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_LeastRequestLbConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig(this);
+ if (choiceCountBuilder_ == null) {
+ result.choiceCount_ = choiceCount_;
+ } else {
+ result.choiceCount_ = choiceCountBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance()) return this;
+ if (other.hasChoiceCount()) {
+ mergeChoiceCount(other.getChoiceCount());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value choiceCount_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> choiceCountBuilder_;
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasChoiceCount() {
+ return choiceCountBuilder_ != null || choiceCount_ != null;
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getChoiceCount() {
+ if (choiceCountBuilder_ == null) {
+ return choiceCount_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : choiceCount_;
+ } else {
+ return choiceCountBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setChoiceCount(com.google.protobuf.UInt32Value value) {
+ if (choiceCountBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ choiceCount_ = value;
+ onChanged();
+ } else {
+ choiceCountBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setChoiceCount(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (choiceCountBuilder_ == null) {
+ choiceCount_ = builderForValue.build();
+ onChanged();
+ } else {
+ choiceCountBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeChoiceCount(com.google.protobuf.UInt32Value value) {
+ if (choiceCountBuilder_ == null) {
+ if (choiceCount_ != null) {
+ choiceCount_ =
+ com.google.protobuf.UInt32Value.newBuilder(choiceCount_).mergeFrom(value).buildPartial();
+ } else {
+ choiceCount_ = value;
+ }
+ onChanged();
+ } else {
+ choiceCountBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearChoiceCount() {
+ if (choiceCountBuilder_ == null) {
+ choiceCount_ = null;
+ onChanged();
+ } else {
+ choiceCount_ = null;
+ choiceCountBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getChoiceCountBuilder() {
+
+ onChanged();
+ return getChoiceCountFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getChoiceCountOrBuilder() {
+ if (choiceCountBuilder_ != null) {
+ return choiceCountBuilder_.getMessageOrBuilder();
+ } else {
+ return choiceCount_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : choiceCount_;
+ }
+ }
+ /**
+ * <pre>
+ * The number of random healthy hosts from which the host with the fewest active requests will
+ * be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getChoiceCountFieldBuilder() {
+ if (choiceCountBuilder_ == null) {
+ choiceCountBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getChoiceCount(),
+ getParentForChildren(),
+ isClean());
+ choiceCount_ = null;
+ }
+ return choiceCountBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.LeastRequestLbConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.LeastRequestLbConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<LeastRequestLbConfig>
+ PARSER = new com.google.protobuf.AbstractParser<LeastRequestLbConfig>() {
+ public LeastRequestLbConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new LeastRequestLbConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<LeastRequestLbConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<LeastRequestLbConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface RingHashLbConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.RingHashLbConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasMinimumRingSize();
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt64Value getMinimumRingSize();
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt64ValueOrBuilder getMinimumRingSizeOrBuilder();
+
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated boolean hasDeprecatedV1();
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 getDeprecatedV1();
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1OrBuilder getDeprecatedV1OrBuilder();
+ }
+ /**
+ * <pre>
+ * Specific configuration for the :ref:`RingHash&lt;arch_overview_load_balancing_types_ring_hash&gt;`
+ * load balancing policy.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.RingHashLbConfig}
+ */
+ public static final class RingHashLbConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.RingHashLbConfig)
+ RingHashLbConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use RingHashLbConfig.newBuilder() to construct.
+ private RingHashLbConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private RingHashLbConfig() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private RingHashLbConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.UInt64Value.Builder subBuilder = null;
+ if (minimumRingSize_ != null) {
+ subBuilder = minimumRingSize_.toBuilder();
+ }
+ minimumRingSize_ = input.readMessage(com.google.protobuf.UInt64Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(minimumRingSize_);
+ minimumRingSize_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.Builder subBuilder = null;
+ if (deprecatedV1_ != null) {
+ subBuilder = deprecatedV1_.toBuilder();
+ }
+ deprecatedV1_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(deprecatedV1_);
+ deprecatedV1_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.Builder.class);
+ }
+
+ public interface DeprecatedV1OrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ boolean hasUseStdHash();
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ com.google.protobuf.BoolValue getUseStdHash();
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getUseStdHashOrBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1}
+ */
+ public static final class DeprecatedV1 extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1)
+ DeprecatedV1OrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use DeprecatedV1.newBuilder() to construct.
+ private DeprecatedV1(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DeprecatedV1() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DeprecatedV1(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (useStdHash_ != null) {
+ subBuilder = useStdHash_.toBuilder();
+ }
+ useStdHash_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(useStdHash_);
+ useStdHash_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.Builder.class);
+ }
+
+ public static final int USE_STD_HASH_FIELD_NUMBER = 1;
+ private com.google.protobuf.BoolValue useStdHash_;
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public boolean hasUseStdHash() {
+ return useStdHash_ != null;
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public com.google.protobuf.BoolValue getUseStdHash() {
+ return useStdHash_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : useStdHash_;
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getUseStdHashOrBuilder() {
+ return getUseStdHash();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (useStdHash_ != null) {
+ output.writeMessage(1, getUseStdHash());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (useStdHash_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getUseStdHash());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1) obj;
+
+ boolean result = true;
+ result = result && (hasUseStdHash() == other.hasUseStdHash());
+ if (hasUseStdHash()) {
+ result = result && getUseStdHash()
+ .equals(other.getUseStdHash());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasUseStdHash()) {
+ hash = (37 * hash) + USE_STD_HASH_FIELD_NUMBER;
+ hash = (53 * hash) + getUseStdHash().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1OrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (useStdHashBuilder_ == null) {
+ useStdHash_ = null;
+ } else {
+ useStdHash_ = null;
+ useStdHashBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_DeprecatedV1_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1(this);
+ if (useStdHashBuilder_ == null) {
+ result.useStdHash_ = useStdHash_;
+ } else {
+ result.useStdHash_ = useStdHashBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.getDefaultInstance()) return this;
+ if (other.hasUseStdHash()) {
+ mergeUseStdHash(other.getUseStdHash());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.BoolValue useStdHash_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> useStdHashBuilder_;
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public boolean hasUseStdHash() {
+ return useStdHashBuilder_ != null || useStdHash_ != null;
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public com.google.protobuf.BoolValue getUseStdHash() {
+ if (useStdHashBuilder_ == null) {
+ return useStdHash_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : useStdHash_;
+ } else {
+ return useStdHashBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public Builder setUseStdHash(com.google.protobuf.BoolValue value) {
+ if (useStdHashBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ useStdHash_ = value;
+ onChanged();
+ } else {
+ useStdHashBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public Builder setUseStdHash(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (useStdHashBuilder_ == null) {
+ useStdHash_ = builderForValue.build();
+ onChanged();
+ } else {
+ useStdHashBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public Builder mergeUseStdHash(com.google.protobuf.BoolValue value) {
+ if (useStdHashBuilder_ == null) {
+ if (useStdHash_ != null) {
+ useStdHash_ =
+ com.google.protobuf.BoolValue.newBuilder(useStdHash_).mergeFrom(value).buildPartial();
+ } else {
+ useStdHash_ = value;
+ }
+ onChanged();
+ } else {
+ useStdHashBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public Builder clearUseStdHash() {
+ if (useStdHashBuilder_ == null) {
+ useStdHash_ = null;
+ onChanged();
+ } else {
+ useStdHash_ = null;
+ useStdHashBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getUseStdHashBuilder() {
+
+ onChanged();
+ return getUseStdHashFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getUseStdHashOrBuilder() {
+ if (useStdHashBuilder_ != null) {
+ return useStdHashBuilder_.getMessageOrBuilder();
+ } else {
+ return useStdHash_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : useStdHash_;
+ }
+ }
+ /**
+ * <pre>
+ * Defaults to false, meaning that `xxHash &lt;https://github.com/Cyan4973/xxHash&gt;`_
+ * is to hash hosts onto the ketama ring.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue use_std_hash = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getUseStdHashFieldBuilder() {
+ if (useStdHashBuilder_ == null) {
+ useStdHashBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getUseStdHash(),
+ getParentForChildren(),
+ isClean());
+ useStdHash_ = null;
+ }
+ return useStdHashBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DeprecatedV1>
+ PARSER = new com.google.protobuf.AbstractParser<DeprecatedV1>() {
+ public DeprecatedV1 parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DeprecatedV1(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DeprecatedV1> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DeprecatedV1> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public static final int MINIMUM_RING_SIZE_FIELD_NUMBER = 1;
+ private com.google.protobuf.UInt64Value minimumRingSize_;
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasMinimumRingSize() {
+ return minimumRingSize_ != null;
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt64Value getMinimumRingSize() {
+ return minimumRingSize_ == null ? com.google.protobuf.UInt64Value.getDefaultInstance() : minimumRingSize_;
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt64ValueOrBuilder getMinimumRingSizeOrBuilder() {
+ return getMinimumRingSize();
+ }
+
+ public static final int DEPRECATED_V1_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecatedV1_;
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public boolean hasDeprecatedV1() {
+ return deprecatedV1_ != null;
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 getDeprecatedV1() {
+ return deprecatedV1_ == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.getDefaultInstance() : deprecatedV1_;
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1OrBuilder getDeprecatedV1OrBuilder() {
+ return getDeprecatedV1();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (minimumRingSize_ != null) {
+ output.writeMessage(1, getMinimumRingSize());
+ }
+ if (deprecatedV1_ != null) {
+ output.writeMessage(2, getDeprecatedV1());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (minimumRingSize_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getMinimumRingSize());
+ }
+ if (deprecatedV1_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getDeprecatedV1());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) obj;
+
+ boolean result = true;
+ result = result && (hasMinimumRingSize() == other.hasMinimumRingSize());
+ if (hasMinimumRingSize()) {
+ result = result && getMinimumRingSize()
+ .equals(other.getMinimumRingSize());
+ }
+ result = result && (hasDeprecatedV1() == other.hasDeprecatedV1());
+ if (hasDeprecatedV1()) {
+ result = result && getDeprecatedV1()
+ .equals(other.getDeprecatedV1());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasMinimumRingSize()) {
+ hash = (37 * hash) + MINIMUM_RING_SIZE_FIELD_NUMBER;
+ hash = (53 * hash) + getMinimumRingSize().hashCode();
+ }
+ if (hasDeprecatedV1()) {
+ hash = (37 * hash) + DEPRECATED_V1_FIELD_NUMBER;
+ hash = (53 * hash) + getDeprecatedV1().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Specific configuration for the :ref:`RingHash&lt;arch_overview_load_balancing_types_ring_hash&gt;`
+ * load balancing policy.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.RingHashLbConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.RingHashLbConfig)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (minimumRingSizeBuilder_ == null) {
+ minimumRingSize_ = null;
+ } else {
+ minimumRingSize_ = null;
+ minimumRingSizeBuilder_ = null;
+ }
+ if (deprecatedV1Builder_ == null) {
+ deprecatedV1_ = null;
+ } else {
+ deprecatedV1_ = null;
+ deprecatedV1Builder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_RingHashLbConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig(this);
+ if (minimumRingSizeBuilder_ == null) {
+ result.minimumRingSize_ = minimumRingSize_;
+ } else {
+ result.minimumRingSize_ = minimumRingSizeBuilder_.build();
+ }
+ if (deprecatedV1Builder_ == null) {
+ result.deprecatedV1_ = deprecatedV1_;
+ } else {
+ result.deprecatedV1_ = deprecatedV1Builder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance()) return this;
+ if (other.hasMinimumRingSize()) {
+ mergeMinimumRingSize(other.getMinimumRingSize());
+ }
+ if (other.hasDeprecatedV1()) {
+ mergeDeprecatedV1(other.getDeprecatedV1());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.UInt64Value minimumRingSize_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder> minimumRingSizeBuilder_;
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasMinimumRingSize() {
+ return minimumRingSizeBuilder_ != null || minimumRingSize_ != null;
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt64Value getMinimumRingSize() {
+ if (minimumRingSizeBuilder_ == null) {
+ return minimumRingSize_ == null ? com.google.protobuf.UInt64Value.getDefaultInstance() : minimumRingSize_;
+ } else {
+ return minimumRingSizeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setMinimumRingSize(com.google.protobuf.UInt64Value value) {
+ if (minimumRingSizeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ minimumRingSize_ = value;
+ onChanged();
+ } else {
+ minimumRingSizeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setMinimumRingSize(
+ com.google.protobuf.UInt64Value.Builder builderForValue) {
+ if (minimumRingSizeBuilder_ == null) {
+ minimumRingSize_ = builderForValue.build();
+ onChanged();
+ } else {
+ minimumRingSizeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeMinimumRingSize(com.google.protobuf.UInt64Value value) {
+ if (minimumRingSizeBuilder_ == null) {
+ if (minimumRingSize_ != null) {
+ minimumRingSize_ =
+ com.google.protobuf.UInt64Value.newBuilder(minimumRingSize_).mergeFrom(value).buildPartial();
+ } else {
+ minimumRingSize_ = value;
+ }
+ onChanged();
+ } else {
+ minimumRingSizeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearMinimumRingSize() {
+ if (minimumRingSizeBuilder_ == null) {
+ minimumRingSize_ = null;
+ onChanged();
+ } else {
+ minimumRingSize_ = null;
+ minimumRingSizeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt64Value.Builder getMinimumRingSizeBuilder() {
+
+ onChanged();
+ return getMinimumRingSizeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt64ValueOrBuilder getMinimumRingSizeOrBuilder() {
+ if (minimumRingSizeBuilder_ != null) {
+ return minimumRingSizeBuilder_.getMessageOrBuilder();
+ } else {
+ return minimumRingSize_ == null ?
+ com.google.protobuf.UInt64Value.getDefaultInstance() : minimumRingSize_;
+ }
+ }
+ /**
+ * <pre>
+ * Minimum hash ring size, i.e. total virtual nodes. A larger size
+ * will provide better request distribution since each host in the
+ * cluster will have more virtual nodes. Defaults to 1024. In the case
+ * that total number of hosts is greater than the minimum, each host will
+ * be allocated a single virtual node. This field is limited to 8M to bound
+ * resource use.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value minimum_ring_size = 1 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder>
+ getMinimumRingSizeFieldBuilder() {
+ if (minimumRingSizeBuilder_ == null) {
+ minimumRingSizeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder>(
+ getMinimumRingSize(),
+ getParentForChildren(),
+ isClean());
+ minimumRingSize_ = null;
+ }
+ return minimumRingSizeBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecatedV1_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1OrBuilder> deprecatedV1Builder_;
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public boolean hasDeprecatedV1() {
+ return deprecatedV1Builder_ != null || deprecatedV1_ != null;
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 getDeprecatedV1() {
+ if (deprecatedV1Builder_ == null) {
+ return deprecatedV1_ == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.getDefaultInstance() : deprecatedV1_;
+ } else {
+ return deprecatedV1Builder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder setDeprecatedV1(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 value) {
+ if (deprecatedV1Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ deprecatedV1_ = value;
+ onChanged();
+ } else {
+ deprecatedV1Builder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder setDeprecatedV1(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.Builder builderForValue) {
+ if (deprecatedV1Builder_ == null) {
+ deprecatedV1_ = builderForValue.build();
+ onChanged();
+ } else {
+ deprecatedV1Builder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder mergeDeprecatedV1(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 value) {
+ if (deprecatedV1Builder_ == null) {
+ if (deprecatedV1_ != null) {
+ deprecatedV1_ =
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.newBuilder(deprecatedV1_).mergeFrom(value).buildPartial();
+ } else {
+ deprecatedV1_ = value;
+ }
+ onChanged();
+ } else {
+ deprecatedV1Builder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder clearDeprecatedV1() {
+ if (deprecatedV1Builder_ == null) {
+ deprecatedV1_ = null;
+ onChanged();
+ } else {
+ deprecatedV1_ = null;
+ deprecatedV1Builder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.Builder getDeprecatedV1Builder() {
+
+ onChanged();
+ return getDeprecatedV1FieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1OrBuilder getDeprecatedV1OrBuilder() {
+ if (deprecatedV1Builder_ != null) {
+ return deprecatedV1Builder_.getMessageOrBuilder();
+ } else {
+ return deprecatedV1_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.getDefaultInstance() : deprecatedV1_;
+ }
+ }
+ /**
+ * <pre>
+ * Deprecated settings from v1 config.
+ * [#not-implemented-hide:] Hide from docs.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1 deprecated_v1 = 2 [deprecated = true];</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1OrBuilder>
+ getDeprecatedV1FieldBuilder() {
+ if (deprecatedV1Builder_ == null) {
+ deprecatedV1Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.DeprecatedV1OrBuilder>(
+ getDeprecatedV1(),
+ getParentForChildren(),
+ isClean());
+ deprecatedV1_ = null;
+ }
+ return deprecatedV1Builder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.RingHashLbConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.RingHashLbConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<RingHashLbConfig>
+ PARSER = new com.google.protobuf.AbstractParser<RingHashLbConfig>() {
+ public RingHashLbConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new RingHashLbConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<RingHashLbConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<RingHashLbConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface OriginalDstLbConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.OriginalDstLbConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * When true, :ref:`x-envoy-orignal-dst-host
+ * &lt;config_http_conn_man_headers_x-envoy-original-dst-host&gt;` can be used to override destination
+ * address.
+ * .. attention::
+ * This header isn't sanitized by default, so enabling this feature allows HTTP clients to
+ * route traffic to arbitrary hosts and/or ports, which may have serious security
+ * consequences.
+ * </pre>
+ *
+ * <code>bool use_http_header = 1;</code>
+ */
+ boolean getUseHttpHeader();
+ }
+ /**
+ * <pre>
+ * Specific configuration for the
+ * :ref:`Original Destination &lt;arch_overview_load_balancing_types_original_destination&gt;`
+ * load balancing policy.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.OriginalDstLbConfig}
+ */
+ public static final class OriginalDstLbConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.OriginalDstLbConfig)
+ OriginalDstLbConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use OriginalDstLbConfig.newBuilder() to construct.
+ private OriginalDstLbConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private OriginalDstLbConfig() {
+ useHttpHeader_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private OriginalDstLbConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+
+ useHttpHeader_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.Builder.class);
+ }
+
+ public static final int USE_HTTP_HEADER_FIELD_NUMBER = 1;
+ private boolean useHttpHeader_;
+ /**
+ * <pre>
+ * When true, :ref:`x-envoy-orignal-dst-host
+ * &lt;config_http_conn_man_headers_x-envoy-original-dst-host&gt;` can be used to override destination
+ * address.
+ * .. attention::
+ * This header isn't sanitized by default, so enabling this feature allows HTTP clients to
+ * route traffic to arbitrary hosts and/or ports, which may have serious security
+ * consequences.
+ * </pre>
+ *
+ * <code>bool use_http_header = 1;</code>
+ */
+ public boolean getUseHttpHeader() {
+ return useHttpHeader_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (useHttpHeader_ != false) {
+ output.writeBool(1, useHttpHeader_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (useHttpHeader_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, useHttpHeader_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) obj;
+
+ boolean result = true;
+ result = result && (getUseHttpHeader()
+ == other.getUseHttpHeader());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + USE_HTTP_HEADER_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getUseHttpHeader());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Specific configuration for the
+ * :ref:`Original Destination &lt;arch_overview_load_balancing_types_original_destination&gt;`
+ * load balancing policy.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.OriginalDstLbConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.OriginalDstLbConfig)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ useHttpHeader_ = false;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_OriginalDstLbConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig(this);
+ result.useHttpHeader_ = useHttpHeader_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance()) return this;
+ if (other.getUseHttpHeader() != false) {
+ setUseHttpHeader(other.getUseHttpHeader());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private boolean useHttpHeader_ ;
+ /**
+ * <pre>
+ * When true, :ref:`x-envoy-orignal-dst-host
+ * &lt;config_http_conn_man_headers_x-envoy-original-dst-host&gt;` can be used to override destination
+ * address.
+ * .. attention::
+ * This header isn't sanitized by default, so enabling this feature allows HTTP clients to
+ * route traffic to arbitrary hosts and/or ports, which may have serious security
+ * consequences.
+ * </pre>
+ *
+ * <code>bool use_http_header = 1;</code>
+ */
+ public boolean getUseHttpHeader() {
+ return useHttpHeader_;
+ }
+ /**
+ * <pre>
+ * When true, :ref:`x-envoy-orignal-dst-host
+ * &lt;config_http_conn_man_headers_x-envoy-original-dst-host&gt;` can be used to override destination
+ * address.
+ * .. attention::
+ * This header isn't sanitized by default, so enabling this feature allows HTTP clients to
+ * route traffic to arbitrary hosts and/or ports, which may have serious security
+ * consequences.
+ * </pre>
+ *
+ * <code>bool use_http_header = 1;</code>
+ */
+ public Builder setUseHttpHeader(boolean value) {
+
+ useHttpHeader_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * When true, :ref:`x-envoy-orignal-dst-host
+ * &lt;config_http_conn_man_headers_x-envoy-original-dst-host&gt;` can be used to override destination
+ * address.
+ * .. attention::
+ * This header isn't sanitized by default, so enabling this feature allows HTTP clients to
+ * route traffic to arbitrary hosts and/or ports, which may have serious security
+ * consequences.
+ * </pre>
+ *
+ * <code>bool use_http_header = 1;</code>
+ */
+ public Builder clearUseHttpHeader() {
+
+ useHttpHeader_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.OriginalDstLbConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.OriginalDstLbConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<OriginalDstLbConfig>
+ PARSER = new com.google.protobuf.AbstractParser<OriginalDstLbConfig>() {
+ public OriginalDstLbConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new OriginalDstLbConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<OriginalDstLbConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<OriginalDstLbConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface CommonLbConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.CommonLbConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ boolean hasHealthyPanicThreshold();
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.type.Percent getHealthyPanicThreshold();
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.type.PercentOrBuilder getHealthyPanicThresholdOrBuilder();
+
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ boolean hasZoneAwareLbConfig();
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig getZoneAwareLbConfig();
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder getZoneAwareLbConfigOrBuilder();
+
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ boolean hasLocalityWeightedLbConfig();
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig getLocalityWeightedLbConfig();
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder getLocalityWeightedLbConfigOrBuilder();
+
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ boolean hasUpdateMergeWindow();
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ com.google.protobuf.Duration getUpdateMergeWindow();
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getUpdateMergeWindowOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityConfigSpecifierCase getLocalityConfigSpecifierCase();
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.CommonLbConfig}
+ */
+ public static final class CommonLbConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.CommonLbConfig)
+ CommonLbConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use CommonLbConfig.newBuilder() to construct.
+ private CommonLbConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CommonLbConfig() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CommonLbConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.type.Percent.Builder subBuilder = null;
+ if (healthyPanicThreshold_ != null) {
+ subBuilder = healthyPanicThreshold_.toBuilder();
+ }
+ healthyPanicThreshold_ = input.readMessage(io.grpc.xds.shaded.envoy.type.Percent.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(healthyPanicThreshold_);
+ healthyPanicThreshold_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder subBuilder = null;
+ if (localityConfigSpecifierCase_ == 2) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_).toBuilder();
+ }
+ localityConfigSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_);
+ localityConfigSpecifier_ = subBuilder.buildPartial();
+ }
+ localityConfigSpecifierCase_ = 2;
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder subBuilder = null;
+ if (localityConfigSpecifierCase_ == 3) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_).toBuilder();
+ }
+ localityConfigSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_);
+ localityConfigSpecifier_ = subBuilder.buildPartial();
+ }
+ localityConfigSpecifierCase_ = 3;
+ break;
+ }
+ case 34: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (updateMergeWindow_ != null) {
+ subBuilder = updateMergeWindow_.toBuilder();
+ }
+ updateMergeWindow_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(updateMergeWindow_);
+ updateMergeWindow_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.Builder.class);
+ }
+
+ public interface ZoneAwareLbConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ boolean hasRoutingEnabled();
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.type.Percent getRoutingEnabled();
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.type.PercentOrBuilder getRoutingEnabledOrBuilder();
+
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ boolean hasMinClusterSize();
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ com.google.protobuf.UInt64Value getMinClusterSize();
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ com.google.protobuf.UInt64ValueOrBuilder getMinClusterSizeOrBuilder();
+ }
+ /**
+ * <pre>
+ * Configuration for :ref:`zone aware routing
+ * &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig}
+ */
+ public static final class ZoneAwareLbConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig)
+ ZoneAwareLbConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use ZoneAwareLbConfig.newBuilder() to construct.
+ private ZoneAwareLbConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ZoneAwareLbConfig() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ZoneAwareLbConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.type.Percent.Builder subBuilder = null;
+ if (routingEnabled_ != null) {
+ subBuilder = routingEnabled_.toBuilder();
+ }
+ routingEnabled_ = input.readMessage(io.grpc.xds.shaded.envoy.type.Percent.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(routingEnabled_);
+ routingEnabled_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.UInt64Value.Builder subBuilder = null;
+ if (minClusterSize_ != null) {
+ subBuilder = minClusterSize_.toBuilder();
+ }
+ minClusterSize_ = input.readMessage(com.google.protobuf.UInt64Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(minClusterSize_);
+ minClusterSize_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder.class);
+ }
+
+ public static final int ROUTING_ENABLED_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.type.Percent routingEnabled_;
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public boolean hasRoutingEnabled() {
+ return routingEnabled_ != null;
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.Percent getRoutingEnabled() {
+ return routingEnabled_ == null ? io.grpc.xds.shaded.envoy.type.Percent.getDefaultInstance() : routingEnabled_;
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.PercentOrBuilder getRoutingEnabledOrBuilder() {
+ return getRoutingEnabled();
+ }
+
+ public static final int MIN_CLUSTER_SIZE_FIELD_NUMBER = 2;
+ private com.google.protobuf.UInt64Value minClusterSize_;
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public boolean hasMinClusterSize() {
+ return minClusterSize_ != null;
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public com.google.protobuf.UInt64Value getMinClusterSize() {
+ return minClusterSize_ == null ? com.google.protobuf.UInt64Value.getDefaultInstance() : minClusterSize_;
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public com.google.protobuf.UInt64ValueOrBuilder getMinClusterSizeOrBuilder() {
+ return getMinClusterSize();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (routingEnabled_ != null) {
+ output.writeMessage(1, getRoutingEnabled());
+ }
+ if (minClusterSize_ != null) {
+ output.writeMessage(2, getMinClusterSize());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (routingEnabled_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getRoutingEnabled());
+ }
+ if (minClusterSize_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getMinClusterSize());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) obj;
+
+ boolean result = true;
+ result = result && (hasRoutingEnabled() == other.hasRoutingEnabled());
+ if (hasRoutingEnabled()) {
+ result = result && getRoutingEnabled()
+ .equals(other.getRoutingEnabled());
+ }
+ result = result && (hasMinClusterSize() == other.hasMinClusterSize());
+ if (hasMinClusterSize()) {
+ result = result && getMinClusterSize()
+ .equals(other.getMinClusterSize());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasRoutingEnabled()) {
+ hash = (37 * hash) + ROUTING_ENABLED_FIELD_NUMBER;
+ hash = (53 * hash) + getRoutingEnabled().hashCode();
+ }
+ if (hasMinClusterSize()) {
+ hash = (37 * hash) + MIN_CLUSTER_SIZE_FIELD_NUMBER;
+ hash = (53 * hash) + getMinClusterSize().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Configuration for :ref:`zone aware routing
+ * &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (routingEnabledBuilder_ == null) {
+ routingEnabled_ = null;
+ } else {
+ routingEnabled_ = null;
+ routingEnabledBuilder_ = null;
+ }
+ if (minClusterSizeBuilder_ == null) {
+ minClusterSize_ = null;
+ } else {
+ minClusterSize_ = null;
+ minClusterSizeBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig(this);
+ if (routingEnabledBuilder_ == null) {
+ result.routingEnabled_ = routingEnabled_;
+ } else {
+ result.routingEnabled_ = routingEnabledBuilder_.build();
+ }
+ if (minClusterSizeBuilder_ == null) {
+ result.minClusterSize_ = minClusterSize_;
+ } else {
+ result.minClusterSize_ = minClusterSizeBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance()) return this;
+ if (other.hasRoutingEnabled()) {
+ mergeRoutingEnabled(other.getRoutingEnabled());
+ }
+ if (other.hasMinClusterSize()) {
+ mergeMinClusterSize(other.getMinClusterSize());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.type.Percent routingEnabled_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.Percent, io.grpc.xds.shaded.envoy.type.Percent.Builder, io.grpc.xds.shaded.envoy.type.PercentOrBuilder> routingEnabledBuilder_;
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public boolean hasRoutingEnabled() {
+ return routingEnabledBuilder_ != null || routingEnabled_ != null;
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.Percent getRoutingEnabled() {
+ if (routingEnabledBuilder_ == null) {
+ return routingEnabled_ == null ? io.grpc.xds.shaded.envoy.type.Percent.getDefaultInstance() : routingEnabled_;
+ } else {
+ return routingEnabledBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public Builder setRoutingEnabled(io.grpc.xds.shaded.envoy.type.Percent value) {
+ if (routingEnabledBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ routingEnabled_ = value;
+ onChanged();
+ } else {
+ routingEnabledBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public Builder setRoutingEnabled(
+ io.grpc.xds.shaded.envoy.type.Percent.Builder builderForValue) {
+ if (routingEnabledBuilder_ == null) {
+ routingEnabled_ = builderForValue.build();
+ onChanged();
+ } else {
+ routingEnabledBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public Builder mergeRoutingEnabled(io.grpc.xds.shaded.envoy.type.Percent value) {
+ if (routingEnabledBuilder_ == null) {
+ if (routingEnabled_ != null) {
+ routingEnabled_ =
+ io.grpc.xds.shaded.envoy.type.Percent.newBuilder(routingEnabled_).mergeFrom(value).buildPartial();
+ } else {
+ routingEnabled_ = value;
+ }
+ onChanged();
+ } else {
+ routingEnabledBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public Builder clearRoutingEnabled() {
+ if (routingEnabledBuilder_ == null) {
+ routingEnabled_ = null;
+ onChanged();
+ } else {
+ routingEnabled_ = null;
+ routingEnabledBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.Percent.Builder getRoutingEnabledBuilder() {
+
+ onChanged();
+ return getRoutingEnabledFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.PercentOrBuilder getRoutingEnabledOrBuilder() {
+ if (routingEnabledBuilder_ != null) {
+ return routingEnabledBuilder_.getMessageOrBuilder();
+ } else {
+ return routingEnabled_ == null ?
+ io.grpc.xds.shaded.envoy.type.Percent.getDefaultInstance() : routingEnabled_;
+ }
+ }
+ /**
+ * <pre>
+ * Configures percentage of requests that will be considered for zone aware routing
+ * if zone aware routing is configured. If not specified, the default is 100%.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent routing_enabled = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.Percent, io.grpc.xds.shaded.envoy.type.Percent.Builder, io.grpc.xds.shaded.envoy.type.PercentOrBuilder>
+ getRoutingEnabledFieldBuilder() {
+ if (routingEnabledBuilder_ == null) {
+ routingEnabledBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.Percent, io.grpc.xds.shaded.envoy.type.Percent.Builder, io.grpc.xds.shaded.envoy.type.PercentOrBuilder>(
+ getRoutingEnabled(),
+ getParentForChildren(),
+ isClean());
+ routingEnabled_ = null;
+ }
+ return routingEnabledBuilder_;
+ }
+
+ private com.google.protobuf.UInt64Value minClusterSize_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder> minClusterSizeBuilder_;
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public boolean hasMinClusterSize() {
+ return minClusterSizeBuilder_ != null || minClusterSize_ != null;
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public com.google.protobuf.UInt64Value getMinClusterSize() {
+ if (minClusterSizeBuilder_ == null) {
+ return minClusterSize_ == null ? com.google.protobuf.UInt64Value.getDefaultInstance() : minClusterSize_;
+ } else {
+ return minClusterSizeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public Builder setMinClusterSize(com.google.protobuf.UInt64Value value) {
+ if (minClusterSizeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ minClusterSize_ = value;
+ onChanged();
+ } else {
+ minClusterSizeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public Builder setMinClusterSize(
+ com.google.protobuf.UInt64Value.Builder builderForValue) {
+ if (minClusterSizeBuilder_ == null) {
+ minClusterSize_ = builderForValue.build();
+ onChanged();
+ } else {
+ minClusterSizeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public Builder mergeMinClusterSize(com.google.protobuf.UInt64Value value) {
+ if (minClusterSizeBuilder_ == null) {
+ if (minClusterSize_ != null) {
+ minClusterSize_ =
+ com.google.protobuf.UInt64Value.newBuilder(minClusterSize_).mergeFrom(value).buildPartial();
+ } else {
+ minClusterSize_ = value;
+ }
+ onChanged();
+ } else {
+ minClusterSizeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public Builder clearMinClusterSize() {
+ if (minClusterSizeBuilder_ == null) {
+ minClusterSize_ = null;
+ onChanged();
+ } else {
+ minClusterSize_ = null;
+ minClusterSizeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public com.google.protobuf.UInt64Value.Builder getMinClusterSizeBuilder() {
+
+ onChanged();
+ return getMinClusterSizeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ public com.google.protobuf.UInt64ValueOrBuilder getMinClusterSizeOrBuilder() {
+ if (minClusterSizeBuilder_ != null) {
+ return minClusterSizeBuilder_.getMessageOrBuilder();
+ } else {
+ return minClusterSize_ == null ?
+ com.google.protobuf.UInt64Value.getDefaultInstance() : minClusterSize_;
+ }
+ }
+ /**
+ * <pre>
+ * Configures minimum upstream cluster size required for zone aware routing
+ * If upstream cluster size is less than specified, zone aware routing is not performed
+ * even if zone aware routing is configured. If not specified, the default is 6.
+ * * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_zone_routing&gt;`.
+ * * :ref:`Zone aware routing support &lt;arch_overview_load_balancing_zone_aware_routing&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt64Value min_cluster_size = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder>
+ getMinClusterSizeFieldBuilder() {
+ if (minClusterSizeBuilder_ == null) {
+ minClusterSizeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt64Value, com.google.protobuf.UInt64Value.Builder, com.google.protobuf.UInt64ValueOrBuilder>(
+ getMinClusterSize(),
+ getParentForChildren(),
+ isClean());
+ minClusterSize_ = null;
+ }
+ return minClusterSizeBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ZoneAwareLbConfig>
+ PARSER = new com.google.protobuf.AbstractParser<ZoneAwareLbConfig>() {
+ public ZoneAwareLbConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ZoneAwareLbConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ZoneAwareLbConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ZoneAwareLbConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface LocalityWeightedLbConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig)
+ com.google.protobuf.MessageOrBuilder {
+ }
+ /**
+ * <pre>
+ * Configuration for :ref:`locality weighted load balancing
+ * &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig}
+ */
+ public static final class LocalityWeightedLbConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig)
+ LocalityWeightedLbConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use LocalityWeightedLbConfig.newBuilder() to construct.
+ private LocalityWeightedLbConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private LocalityWeightedLbConfig() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private LocalityWeightedLbConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) obj;
+
+ boolean result = true;
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Configuration for :ref:`locality weighted load balancing
+ * &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig(this);
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance()) return this;
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<LocalityWeightedLbConfig>
+ PARSER = new com.google.protobuf.AbstractParser<LocalityWeightedLbConfig>() {
+ public LocalityWeightedLbConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new LocalityWeightedLbConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<LocalityWeightedLbConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<LocalityWeightedLbConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int localityConfigSpecifierCase_ = 0;
+ private java.lang.Object localityConfigSpecifier_;
+ public enum LocalityConfigSpecifierCase
+ implements com.google.protobuf.Internal.EnumLite {
+ ZONE_AWARE_LB_CONFIG(2),
+ LOCALITY_WEIGHTED_LB_CONFIG(3),
+ LOCALITYCONFIGSPECIFIER_NOT_SET(0);
+ private final int value;
+ private LocalityConfigSpecifierCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static LocalityConfigSpecifierCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static LocalityConfigSpecifierCase forNumber(int value) {
+ switch (value) {
+ case 2: return ZONE_AWARE_LB_CONFIG;
+ case 3: return LOCALITY_WEIGHTED_LB_CONFIG;
+ case 0: return LOCALITYCONFIGSPECIFIER_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public LocalityConfigSpecifierCase
+ getLocalityConfigSpecifierCase() {
+ return LocalityConfigSpecifierCase.forNumber(
+ localityConfigSpecifierCase_);
+ }
+
+ public static final int HEALTHY_PANIC_THRESHOLD_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.type.Percent healthyPanicThreshold_;
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public boolean hasHealthyPanicThreshold() {
+ return healthyPanicThreshold_ != null;
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.Percent getHealthyPanicThreshold() {
+ return healthyPanicThreshold_ == null ? io.grpc.xds.shaded.envoy.type.Percent.getDefaultInstance() : healthyPanicThreshold_;
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.PercentOrBuilder getHealthyPanicThresholdOrBuilder() {
+ return getHealthyPanicThreshold();
+ }
+
+ public static final int ZONE_AWARE_LB_CONFIG_FIELD_NUMBER = 2;
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public boolean hasZoneAwareLbConfig() {
+ return localityConfigSpecifierCase_ == 2;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig getZoneAwareLbConfig() {
+ if (localityConfigSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder getZoneAwareLbConfigOrBuilder() {
+ if (localityConfigSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance();
+ }
+
+ public static final int LOCALITY_WEIGHTED_LB_CONFIG_FIELD_NUMBER = 3;
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public boolean hasLocalityWeightedLbConfig() {
+ return localityConfigSpecifierCase_ == 3;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig getLocalityWeightedLbConfig() {
+ if (localityConfigSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder getLocalityWeightedLbConfigOrBuilder() {
+ if (localityConfigSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance();
+ }
+
+ public static final int UPDATE_MERGE_WINDOW_FIELD_NUMBER = 4;
+ private com.google.protobuf.Duration updateMergeWindow_;
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public boolean hasUpdateMergeWindow() {
+ return updateMergeWindow_ != null;
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public com.google.protobuf.Duration getUpdateMergeWindow() {
+ return updateMergeWindow_ == null ? com.google.protobuf.Duration.getDefaultInstance() : updateMergeWindow_;
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getUpdateMergeWindowOrBuilder() {
+ return getUpdateMergeWindow();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (healthyPanicThreshold_ != null) {
+ output.writeMessage(1, getHealthyPanicThreshold());
+ }
+ if (localityConfigSpecifierCase_ == 2) {
+ output.writeMessage(2, (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_);
+ }
+ if (localityConfigSpecifierCase_ == 3) {
+ output.writeMessage(3, (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_);
+ }
+ if (updateMergeWindow_ != null) {
+ output.writeMessage(4, getUpdateMergeWindow());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (healthyPanicThreshold_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getHealthyPanicThreshold());
+ }
+ if (localityConfigSpecifierCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_);
+ }
+ if (localityConfigSpecifierCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_);
+ }
+ if (updateMergeWindow_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getUpdateMergeWindow());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig other = (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig) obj;
+
+ boolean result = true;
+ result = result && (hasHealthyPanicThreshold() == other.hasHealthyPanicThreshold());
+ if (hasHealthyPanicThreshold()) {
+ result = result && getHealthyPanicThreshold()
+ .equals(other.getHealthyPanicThreshold());
+ }
+ result = result && (hasUpdateMergeWindow() == other.hasUpdateMergeWindow());
+ if (hasUpdateMergeWindow()) {
+ result = result && getUpdateMergeWindow()
+ .equals(other.getUpdateMergeWindow());
+ }
+ result = result && getLocalityConfigSpecifierCase().equals(
+ other.getLocalityConfigSpecifierCase());
+ if (!result) return false;
+ switch (localityConfigSpecifierCase_) {
+ case 2:
+ result = result && getZoneAwareLbConfig()
+ .equals(other.getZoneAwareLbConfig());
+ break;
+ case 3:
+ result = result && getLocalityWeightedLbConfig()
+ .equals(other.getLocalityWeightedLbConfig());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasHealthyPanicThreshold()) {
+ hash = (37 * hash) + HEALTHY_PANIC_THRESHOLD_FIELD_NUMBER;
+ hash = (53 * hash) + getHealthyPanicThreshold().hashCode();
+ }
+ if (hasUpdateMergeWindow()) {
+ hash = (37 * hash) + UPDATE_MERGE_WINDOW_FIELD_NUMBER;
+ hash = (53 * hash) + getUpdateMergeWindow().hashCode();
+ }
+ switch (localityConfigSpecifierCase_) {
+ case 2:
+ hash = (37 * hash) + ZONE_AWARE_LB_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getZoneAwareLbConfig().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + LOCALITY_WEIGHTED_LB_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getLocalityWeightedLbConfig().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster.CommonLbConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster.CommonLbConfig)
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (healthyPanicThresholdBuilder_ == null) {
+ healthyPanicThreshold_ = null;
+ } else {
+ healthyPanicThreshold_ = null;
+ healthyPanicThresholdBuilder_ = null;
+ }
+ if (updateMergeWindowBuilder_ == null) {
+ updateMergeWindow_ = null;
+ } else {
+ updateMergeWindow_ = null;
+ updateMergeWindowBuilder_ = null;
+ }
+ localityConfigSpecifierCase_ = 0;
+ localityConfigSpecifier_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_CommonLbConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig result = new io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig(this);
+ if (healthyPanicThresholdBuilder_ == null) {
+ result.healthyPanicThreshold_ = healthyPanicThreshold_;
+ } else {
+ result.healthyPanicThreshold_ = healthyPanicThresholdBuilder_.build();
+ }
+ if (localityConfigSpecifierCase_ == 2) {
+ if (zoneAwareLbConfigBuilder_ == null) {
+ result.localityConfigSpecifier_ = localityConfigSpecifier_;
+ } else {
+ result.localityConfigSpecifier_ = zoneAwareLbConfigBuilder_.build();
+ }
+ }
+ if (localityConfigSpecifierCase_ == 3) {
+ if (localityWeightedLbConfigBuilder_ == null) {
+ result.localityConfigSpecifier_ = localityConfigSpecifier_;
+ } else {
+ result.localityConfigSpecifier_ = localityWeightedLbConfigBuilder_.build();
+ }
+ }
+ if (updateMergeWindowBuilder_ == null) {
+ result.updateMergeWindow_ = updateMergeWindow_;
+ } else {
+ result.updateMergeWindow_ = updateMergeWindowBuilder_.build();
+ }
+ result.localityConfigSpecifierCase_ = localityConfigSpecifierCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.getDefaultInstance()) return this;
+ if (other.hasHealthyPanicThreshold()) {
+ mergeHealthyPanicThreshold(other.getHealthyPanicThreshold());
+ }
+ if (other.hasUpdateMergeWindow()) {
+ mergeUpdateMergeWindow(other.getUpdateMergeWindow());
+ }
+ switch (other.getLocalityConfigSpecifierCase()) {
+ case ZONE_AWARE_LB_CONFIG: {
+ mergeZoneAwareLbConfig(other.getZoneAwareLbConfig());
+ break;
+ }
+ case LOCALITY_WEIGHTED_LB_CONFIG: {
+ mergeLocalityWeightedLbConfig(other.getLocalityWeightedLbConfig());
+ break;
+ }
+ case LOCALITYCONFIGSPECIFIER_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int localityConfigSpecifierCase_ = 0;
+ private java.lang.Object localityConfigSpecifier_;
+ public LocalityConfigSpecifierCase
+ getLocalityConfigSpecifierCase() {
+ return LocalityConfigSpecifierCase.forNumber(
+ localityConfigSpecifierCase_);
+ }
+
+ public Builder clearLocalityConfigSpecifier() {
+ localityConfigSpecifierCase_ = 0;
+ localityConfigSpecifier_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private io.grpc.xds.shaded.envoy.type.Percent healthyPanicThreshold_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.Percent, io.grpc.xds.shaded.envoy.type.Percent.Builder, io.grpc.xds.shaded.envoy.type.PercentOrBuilder> healthyPanicThresholdBuilder_;
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public boolean hasHealthyPanicThreshold() {
+ return healthyPanicThresholdBuilder_ != null || healthyPanicThreshold_ != null;
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.Percent getHealthyPanicThreshold() {
+ if (healthyPanicThresholdBuilder_ == null) {
+ return healthyPanicThreshold_ == null ? io.grpc.xds.shaded.envoy.type.Percent.getDefaultInstance() : healthyPanicThreshold_;
+ } else {
+ return healthyPanicThresholdBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public Builder setHealthyPanicThreshold(io.grpc.xds.shaded.envoy.type.Percent value) {
+ if (healthyPanicThresholdBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ healthyPanicThreshold_ = value;
+ onChanged();
+ } else {
+ healthyPanicThresholdBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public Builder setHealthyPanicThreshold(
+ io.grpc.xds.shaded.envoy.type.Percent.Builder builderForValue) {
+ if (healthyPanicThresholdBuilder_ == null) {
+ healthyPanicThreshold_ = builderForValue.build();
+ onChanged();
+ } else {
+ healthyPanicThresholdBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public Builder mergeHealthyPanicThreshold(io.grpc.xds.shaded.envoy.type.Percent value) {
+ if (healthyPanicThresholdBuilder_ == null) {
+ if (healthyPanicThreshold_ != null) {
+ healthyPanicThreshold_ =
+ io.grpc.xds.shaded.envoy.type.Percent.newBuilder(healthyPanicThreshold_).mergeFrom(value).buildPartial();
+ } else {
+ healthyPanicThreshold_ = value;
+ }
+ onChanged();
+ } else {
+ healthyPanicThresholdBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public Builder clearHealthyPanicThreshold() {
+ if (healthyPanicThresholdBuilder_ == null) {
+ healthyPanicThreshold_ = null;
+ onChanged();
+ } else {
+ healthyPanicThreshold_ = null;
+ healthyPanicThresholdBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.Percent.Builder getHealthyPanicThresholdBuilder() {
+
+ onChanged();
+ return getHealthyPanicThresholdFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.PercentOrBuilder getHealthyPanicThresholdOrBuilder() {
+ if (healthyPanicThresholdBuilder_ != null) {
+ return healthyPanicThresholdBuilder_.getMessageOrBuilder();
+ } else {
+ return healthyPanicThreshold_ == null ?
+ io.grpc.xds.shaded.envoy.type.Percent.getDefaultInstance() : healthyPanicThreshold_;
+ }
+ }
+ /**
+ * <pre>
+ * Configures the :ref:`healthy panic threshold &lt;arch_overview_load_balancing_panic_threshold&gt;`.
+ * If not specified, the default is 50%.
+ * .. note::
+ * The specified percent will be truncated to the nearest 1%.
+ * </pre>
+ *
+ * <code>.envoy.type.Percent healthy_panic_threshold = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.Percent, io.grpc.xds.shaded.envoy.type.Percent.Builder, io.grpc.xds.shaded.envoy.type.PercentOrBuilder>
+ getHealthyPanicThresholdFieldBuilder() {
+ if (healthyPanicThresholdBuilder_ == null) {
+ healthyPanicThresholdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.Percent, io.grpc.xds.shaded.envoy.type.Percent.Builder, io.grpc.xds.shaded.envoy.type.PercentOrBuilder>(
+ getHealthyPanicThreshold(),
+ getParentForChildren(),
+ isClean());
+ healthyPanicThreshold_ = null;
+ }
+ return healthyPanicThresholdBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder> zoneAwareLbConfigBuilder_;
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public boolean hasZoneAwareLbConfig() {
+ return localityConfigSpecifierCase_ == 2;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig getZoneAwareLbConfig() {
+ if (zoneAwareLbConfigBuilder_ == null) {
+ if (localityConfigSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance();
+ } else {
+ if (localityConfigSpecifierCase_ == 2) {
+ return zoneAwareLbConfigBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public Builder setZoneAwareLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig value) {
+ if (zoneAwareLbConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ localityConfigSpecifier_ = value;
+ onChanged();
+ } else {
+ zoneAwareLbConfigBuilder_.setMessage(value);
+ }
+ localityConfigSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public Builder setZoneAwareLbConfig(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder builderForValue) {
+ if (zoneAwareLbConfigBuilder_ == null) {
+ localityConfigSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ zoneAwareLbConfigBuilder_.setMessage(builderForValue.build());
+ }
+ localityConfigSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public Builder mergeZoneAwareLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig value) {
+ if (zoneAwareLbConfigBuilder_ == null) {
+ if (localityConfigSpecifierCase_ == 2 &&
+ localityConfigSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance()) {
+ localityConfigSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.newBuilder((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ localityConfigSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (localityConfigSpecifierCase_ == 2) {
+ zoneAwareLbConfigBuilder_.mergeFrom(value);
+ }
+ zoneAwareLbConfigBuilder_.setMessage(value);
+ }
+ localityConfigSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public Builder clearZoneAwareLbConfig() {
+ if (zoneAwareLbConfigBuilder_ == null) {
+ if (localityConfigSpecifierCase_ == 2) {
+ localityConfigSpecifierCase_ = 0;
+ localityConfigSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (localityConfigSpecifierCase_ == 2) {
+ localityConfigSpecifierCase_ = 0;
+ localityConfigSpecifier_ = null;
+ }
+ zoneAwareLbConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder getZoneAwareLbConfigBuilder() {
+ return getZoneAwareLbConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder getZoneAwareLbConfigOrBuilder() {
+ if ((localityConfigSpecifierCase_ == 2) && (zoneAwareLbConfigBuilder_ != null)) {
+ return zoneAwareLbConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (localityConfigSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder>
+ getZoneAwareLbConfigFieldBuilder() {
+ if (zoneAwareLbConfigBuilder_ == null) {
+ if (!(localityConfigSpecifierCase_ == 2)) {
+ localityConfigSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.getDefaultInstance();
+ }
+ zoneAwareLbConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig) localityConfigSpecifier_,
+ getParentForChildren(),
+ isClean());
+ localityConfigSpecifier_ = null;
+ }
+ localityConfigSpecifierCase_ = 2;
+ onChanged();;
+ return zoneAwareLbConfigBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder> localityWeightedLbConfigBuilder_;
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public boolean hasLocalityWeightedLbConfig() {
+ return localityConfigSpecifierCase_ == 3;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig getLocalityWeightedLbConfig() {
+ if (localityWeightedLbConfigBuilder_ == null) {
+ if (localityConfigSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance();
+ } else {
+ if (localityConfigSpecifierCase_ == 3) {
+ return localityWeightedLbConfigBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public Builder setLocalityWeightedLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig value) {
+ if (localityWeightedLbConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ localityConfigSpecifier_ = value;
+ onChanged();
+ } else {
+ localityWeightedLbConfigBuilder_.setMessage(value);
+ }
+ localityConfigSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public Builder setLocalityWeightedLbConfig(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder builderForValue) {
+ if (localityWeightedLbConfigBuilder_ == null) {
+ localityConfigSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ localityWeightedLbConfigBuilder_.setMessage(builderForValue.build());
+ }
+ localityConfigSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public Builder mergeLocalityWeightedLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig value) {
+ if (localityWeightedLbConfigBuilder_ == null) {
+ if (localityConfigSpecifierCase_ == 3 &&
+ localityConfigSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance()) {
+ localityConfigSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.newBuilder((io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ localityConfigSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (localityConfigSpecifierCase_ == 3) {
+ localityWeightedLbConfigBuilder_.mergeFrom(value);
+ }
+ localityWeightedLbConfigBuilder_.setMessage(value);
+ }
+ localityConfigSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public Builder clearLocalityWeightedLbConfig() {
+ if (localityWeightedLbConfigBuilder_ == null) {
+ if (localityConfigSpecifierCase_ == 3) {
+ localityConfigSpecifierCase_ = 0;
+ localityConfigSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (localityConfigSpecifierCase_ == 3) {
+ localityConfigSpecifierCase_ = 0;
+ localityConfigSpecifier_ = null;
+ }
+ localityWeightedLbConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder getLocalityWeightedLbConfigBuilder() {
+ return getLocalityWeightedLbConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder getLocalityWeightedLbConfigOrBuilder() {
+ if ((localityConfigSpecifierCase_ == 3) && (localityWeightedLbConfigBuilder_ != null)) {
+ return localityWeightedLbConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (localityConfigSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder>
+ getLocalityWeightedLbConfigFieldBuilder() {
+ if (localityWeightedLbConfigBuilder_ == null) {
+ if (!(localityConfigSpecifierCase_ == 3)) {
+ localityConfigSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.getDefaultInstance();
+ }
+ localityWeightedLbConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig) localityConfigSpecifier_,
+ getParentForChildren(),
+ isClean());
+ localityConfigSpecifier_ = null;
+ }
+ localityConfigSpecifierCase_ = 3;
+ onChanged();;
+ return localityWeightedLbConfigBuilder_;
+ }
+
+ private com.google.protobuf.Duration updateMergeWindow_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> updateMergeWindowBuilder_;
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public boolean hasUpdateMergeWindow() {
+ return updateMergeWindowBuilder_ != null || updateMergeWindow_ != null;
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public com.google.protobuf.Duration getUpdateMergeWindow() {
+ if (updateMergeWindowBuilder_ == null) {
+ return updateMergeWindow_ == null ? com.google.protobuf.Duration.getDefaultInstance() : updateMergeWindow_;
+ } else {
+ return updateMergeWindowBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public Builder setUpdateMergeWindow(com.google.protobuf.Duration value) {
+ if (updateMergeWindowBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ updateMergeWindow_ = value;
+ onChanged();
+ } else {
+ updateMergeWindowBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public Builder setUpdateMergeWindow(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (updateMergeWindowBuilder_ == null) {
+ updateMergeWindow_ = builderForValue.build();
+ onChanged();
+ } else {
+ updateMergeWindowBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public Builder mergeUpdateMergeWindow(com.google.protobuf.Duration value) {
+ if (updateMergeWindowBuilder_ == null) {
+ if (updateMergeWindow_ != null) {
+ updateMergeWindow_ =
+ com.google.protobuf.Duration.newBuilder(updateMergeWindow_).mergeFrom(value).buildPartial();
+ } else {
+ updateMergeWindow_ = value;
+ }
+ onChanged();
+ } else {
+ updateMergeWindowBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public Builder clearUpdateMergeWindow() {
+ if (updateMergeWindowBuilder_ == null) {
+ updateMergeWindow_ = null;
+ onChanged();
+ } else {
+ updateMergeWindow_ = null;
+ updateMergeWindowBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public com.google.protobuf.Duration.Builder getUpdateMergeWindowBuilder() {
+
+ onChanged();
+ return getUpdateMergeWindowFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getUpdateMergeWindowOrBuilder() {
+ if (updateMergeWindowBuilder_ != null) {
+ return updateMergeWindowBuilder_.getMessageOrBuilder();
+ } else {
+ return updateMergeWindow_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : updateMergeWindow_;
+ }
+ }
+ /**
+ * <pre>
+ * If set, all health check/weight/metadata updates that happen within this duration will be
+ * merged and delivered in one shot when the duration expires. The start of the duration is when
+ * the first update happens. This is useful for big clusters, with potentially noisy deploys
+ * that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ * or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ * cluster).
+ * If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ * window to 0.
+ * Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ * because merging those updates isn't currently safe. See
+ * https://github.com/envoyproxy/envoy/pull/3941.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration update_merge_window = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getUpdateMergeWindowFieldBuilder() {
+ if (updateMergeWindowBuilder_ == null) {
+ updateMergeWindowBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getUpdateMergeWindow(),
+ getParentForChildren(),
+ isClean());
+ updateMergeWindow_ = null;
+ }
+ return updateMergeWindowBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster.CommonLbConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster.CommonLbConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CommonLbConfig>
+ PARSER = new com.google.protobuf.AbstractParser<CommonLbConfig>() {
+ public CommonLbConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CommonLbConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CommonLbConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CommonLbConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int bitField0_;
+ private int lbConfigCase_ = 0;
+ private java.lang.Object lbConfig_;
+ public enum LbConfigCase
+ implements com.google.protobuf.Internal.EnumLite {
+ RING_HASH_LB_CONFIG(23),
+ ORIGINAL_DST_LB_CONFIG(34),
+ LEAST_REQUEST_LB_CONFIG(37),
+ LBCONFIG_NOT_SET(0);
+ private final int value;
+ private LbConfigCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static LbConfigCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static LbConfigCase forNumber(int value) {
+ switch (value) {
+ case 23: return RING_HASH_LB_CONFIG;
+ case 34: return ORIGINAL_DST_LB_CONFIG;
+ case 37: return LEAST_REQUEST_LB_CONFIG;
+ case 0: return LBCONFIG_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public LbConfigCase
+ getLbConfigCase() {
+ return LbConfigCase.forNumber(
+ lbConfigCase_);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ALT_STAT_NAME_FIELD_NUMBER = 28;
+ private volatile java.lang.Object altStatName_;
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ public java.lang.String getAltStatName() {
+ java.lang.Object ref = altStatName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ altStatName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAltStatNameBytes() {
+ java.lang.Object ref = altStatName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ altStatName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int TYPE_FIELD_NUMBER = 2;
+ private int type_;
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getTypeValue() {
+ return type_;
+ }
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType getType() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType result = io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType.valueOf(type_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType.UNRECOGNIZED : result;
+ }
+
+ public static final int EDS_CLUSTER_CONFIG_FIELD_NUMBER = 3;
+ private io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig edsClusterConfig_;
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public boolean hasEdsClusterConfig() {
+ return edsClusterConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig getEdsClusterConfig() {
+ return edsClusterConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.getDefaultInstance() : edsClusterConfig_;
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder() {
+ return getEdsClusterConfig();
+ }
+
+ public static final int CONNECT_TIMEOUT_FIELD_NUMBER = 4;
+ private com.google.protobuf.Duration connectTimeout_;
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasConnectTimeout() {
+ return connectTimeout_ != null;
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getConnectTimeout() {
+ return connectTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : connectTimeout_;
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getConnectTimeoutOrBuilder() {
+ return getConnectTimeout();
+ }
+
+ public static final int PER_CONNECTION_BUFFER_LIMIT_BYTES_FIELD_NUMBER = 5;
+ private com.google.protobuf.UInt32Value perConnectionBufferLimitBytes_;
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public boolean hasPerConnectionBufferLimitBytes() {
+ return perConnectionBufferLimitBytes_ != null;
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value getPerConnectionBufferLimitBytes() {
+ return perConnectionBufferLimitBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : perConnectionBufferLimitBytes_;
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getPerConnectionBufferLimitBytesOrBuilder() {
+ return getPerConnectionBufferLimitBytes();
+ }
+
+ public static final int LB_POLICY_FIELD_NUMBER = 6;
+ private int lbPolicy_;
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ public int getLbPolicyValue() {
+ return lbPolicy_;
+ }
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy getLbPolicy() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy result = io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy.valueOf(lbPolicy_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy.UNRECOGNIZED : result;
+ }
+
+ public static final int HOSTS_FIELD_NUMBER = 7;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address> hosts_;
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address> getHostsList() {
+ return hosts_;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getHostsOrBuilderList() {
+ return hosts_;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public int getHostsCount() {
+ return hosts_.size();
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.core.Address getHosts(int index) {
+ return hosts_.get(index);
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getHostsOrBuilder(
+ int index) {
+ return hosts_.get(index);
+ }
+
+ public static final int LOAD_ASSIGNMENT_FIELD_NUMBER = 33;
+ private io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment loadAssignment_;
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public boolean hasLoadAssignment() {
+ return loadAssignment_ != null;
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment getLoadAssignment() {
+ return loadAssignment_ == null ? io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.getDefaultInstance() : loadAssignment_;
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder() {
+ return getLoadAssignment();
+ }
+
+ public static final int HEALTH_CHECKS_FIELD_NUMBER = 8;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck> healthChecks_;
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck> getHealthChecksList() {
+ return healthChecks_;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder>
+ getHealthChecksOrBuilderList() {
+ return healthChecks_;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public int getHealthChecksCount() {
+ return healthChecks_.size();
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck getHealthChecks(int index) {
+ return healthChecks_.get(index);
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder getHealthChecksOrBuilder(
+ int index) {
+ return healthChecks_.get(index);
+ }
+
+ public static final int MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER = 9;
+ private com.google.protobuf.UInt32Value maxRequestsPerConnection_;
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public boolean hasMaxRequestsPerConnection() {
+ return maxRequestsPerConnection_ != null;
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxRequestsPerConnection() {
+ return maxRequestsPerConnection_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxRequestsPerConnection_;
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder() {
+ return getMaxRequestsPerConnection();
+ }
+
+ public static final int CIRCUIT_BREAKERS_FIELD_NUMBER = 10;
+ private io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers circuitBreakers_;
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public boolean hasCircuitBreakers() {
+ return circuitBreakers_ != null;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers getCircuitBreakers() {
+ return circuitBreakers_ == null ? io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.getDefaultInstance() : circuitBreakers_;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakersOrBuilder getCircuitBreakersOrBuilder() {
+ return getCircuitBreakers();
+ }
+
+ public static final int TLS_CONTEXT_FIELD_NUMBER = 11;
+ private io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext tlsContext_;
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public boolean hasTlsContext() {
+ return tlsContext_ != null;
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext getTlsContext() {
+ return tlsContext_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.getDefaultInstance() : tlsContext_;
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContextOrBuilder getTlsContextOrBuilder() {
+ return getTlsContext();
+ }
+
+ public static final int COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 29;
+ private io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions commonHttpProtocolOptions_;
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public boolean hasCommonHttpProtocolOptions() {
+ return commonHttpProtocolOptions_ != null;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions getCommonHttpProtocolOptions() {
+ return commonHttpProtocolOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.getDefaultInstance() : commonHttpProtocolOptions_;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder() {
+ return getCommonHttpProtocolOptions();
+ }
+
+ public static final int HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER = 13;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions httpProtocolOptions_;
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public boolean hasHttpProtocolOptions() {
+ return httpProtocolOptions_ != null;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions getHttpProtocolOptions() {
+ return httpProtocolOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder() {
+ return getHttpProtocolOptions();
+ }
+
+ public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER = 14;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions http2ProtocolOptions_;
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public boolean hasHttp2ProtocolOptions() {
+ return http2ProtocolOptions_ != null;
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getHttp2ProtocolOptions() {
+ return http2ProtocolOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_;
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() {
+ return getHttp2ProtocolOptions();
+ }
+
+ public static final int EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER = 35;
+ private static final class ExtensionProtocolOptionsDefaultEntryHolder {
+ static final com.google.protobuf.MapEntry<
+ java.lang.String, com.google.protobuf.Struct> defaultEntry =
+ com.google.protobuf.MapEntry
+ .<java.lang.String, com.google.protobuf.Struct>newDefaultInstance(
+ io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_descriptor,
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "",
+ com.google.protobuf.WireFormat.FieldType.MESSAGE,
+ com.google.protobuf.Struct.getDefaultInstance());
+ }
+ private com.google.protobuf.MapField<
+ java.lang.String, com.google.protobuf.Struct> extensionProtocolOptions_;
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Struct>
+ internalGetExtensionProtocolOptions() {
+ if (extensionProtocolOptions_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ ExtensionProtocolOptionsDefaultEntryHolder.defaultEntry);
+ }
+ return extensionProtocolOptions_;
+ }
+
+ public int getExtensionProtocolOptionsCount() {
+ return internalGetExtensionProtocolOptions().getMap().size();
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public boolean containsExtensionProtocolOptions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetExtensionProtocolOptions().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getExtensionProtocolOptionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct> getExtensionProtocolOptions() {
+ return getExtensionProtocolOptionsMap();
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct> getExtensionProtocolOptionsMap() {
+ return internalGetExtensionProtocolOptions().getMap();
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public com.google.protobuf.Struct getExtensionProtocolOptionsOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Struct defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> map =
+ internalGetExtensionProtocolOptions().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public com.google.protobuf.Struct getExtensionProtocolOptionsOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> map =
+ internalGetExtensionProtocolOptions().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ public static final int TYPED_EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER = 36;
+ private static final class TypedExtensionProtocolOptionsDefaultEntryHolder {
+ static final com.google.protobuf.MapEntry<
+ java.lang.String, com.google.protobuf.Any> defaultEntry =
+ com.google.protobuf.MapEntry
+ .<java.lang.String, com.google.protobuf.Any>newDefaultInstance(
+ io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_descriptor,
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "",
+ com.google.protobuf.WireFormat.FieldType.MESSAGE,
+ com.google.protobuf.Any.getDefaultInstance());
+ }
+ private com.google.protobuf.MapField<
+ java.lang.String, com.google.protobuf.Any> typedExtensionProtocolOptions_;
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Any>
+ internalGetTypedExtensionProtocolOptions() {
+ if (typedExtensionProtocolOptions_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ TypedExtensionProtocolOptionsDefaultEntryHolder.defaultEntry);
+ }
+ return typedExtensionProtocolOptions_;
+ }
+
+ public int getTypedExtensionProtocolOptionsCount() {
+ return internalGetTypedExtensionProtocolOptions().getMap().size();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public boolean containsTypedExtensionProtocolOptions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetTypedExtensionProtocolOptions().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getTypedExtensionProtocolOptionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Any> getTypedExtensionProtocolOptions() {
+ return getTypedExtensionProtocolOptionsMap();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public java.util.Map<java.lang.String, com.google.protobuf.Any> getTypedExtensionProtocolOptionsMap() {
+ return internalGetTypedExtensionProtocolOptions().getMap();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public com.google.protobuf.Any getTypedExtensionProtocolOptionsOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Any defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Any> map =
+ internalGetTypedExtensionProtocolOptions().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Any> map =
+ internalGetTypedExtensionProtocolOptions().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ public static final int DNS_REFRESH_RATE_FIELD_NUMBER = 16;
+ private com.google.protobuf.Duration dnsRefreshRate_;
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasDnsRefreshRate() {
+ return dnsRefreshRate_ != null;
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getDnsRefreshRate() {
+ return dnsRefreshRate_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsRefreshRate_;
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder() {
+ return getDnsRefreshRate();
+ }
+
+ public static final int DNS_LOOKUP_FAMILY_FIELD_NUMBER = 17;
+ private int dnsLookupFamily_;
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ public int getDnsLookupFamilyValue() {
+ return dnsLookupFamily_;
+ }
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily getDnsLookupFamily() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily result = io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily.valueOf(dnsLookupFamily_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily.UNRECOGNIZED : result;
+ }
+
+ public static final int DNS_RESOLVERS_FIELD_NUMBER = 18;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address> dnsResolvers_;
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address> getDnsResolversList() {
+ return dnsResolvers_;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getDnsResolversOrBuilderList() {
+ return dnsResolvers_;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public int getDnsResolversCount() {
+ return dnsResolvers_.size();
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getDnsResolvers(int index) {
+ return dnsResolvers_.get(index);
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getDnsResolversOrBuilder(
+ int index) {
+ return dnsResolvers_.get(index);
+ }
+
+ public static final int OUTLIER_DETECTION_FIELD_NUMBER = 19;
+ private io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection outlierDetection_;
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public boolean hasOutlierDetection() {
+ return outlierDetection_ != null;
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection getOutlierDetection() {
+ return outlierDetection_ == null ? io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.getDefaultInstance() : outlierDetection_;
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOrBuilder getOutlierDetectionOrBuilder() {
+ return getOutlierDetection();
+ }
+
+ public static final int CLEANUP_INTERVAL_FIELD_NUMBER = 20;
+ private com.google.protobuf.Duration cleanupInterval_;
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasCleanupInterval() {
+ return cleanupInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getCleanupInterval() {
+ return cleanupInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : cleanupInterval_;
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getCleanupIntervalOrBuilder() {
+ return getCleanupInterval();
+ }
+
+ public static final int UPSTREAM_BIND_CONFIG_FIELD_NUMBER = 21;
+ private io.grpc.xds.shaded.envoy.api.v2.core.BindConfig upstreamBindConfig_;
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public boolean hasUpstreamBindConfig() {
+ return upstreamBindConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfig getUpstreamBindConfig() {
+ return upstreamBindConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.getDefaultInstance() : upstreamBindConfig_;
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfigOrBuilder getUpstreamBindConfigOrBuilder() {
+ return getUpstreamBindConfig();
+ }
+
+ public static final int LB_SUBSET_CONFIG_FIELD_NUMBER = 22;
+ private io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig lbSubsetConfig_;
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public boolean hasLbSubsetConfig() {
+ return lbSubsetConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig getLbSubsetConfig() {
+ return lbSubsetConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.getDefaultInstance() : lbSubsetConfig_;
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder() {
+ return getLbSubsetConfig();
+ }
+
+ public static final int RING_HASH_LB_CONFIG_FIELD_NUMBER = 23;
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public boolean hasRingHashLbConfig() {
+ return lbConfigCase_ == 23;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig getRingHashLbConfig() {
+ if (lbConfigCase_ == 23) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder() {
+ if (lbConfigCase_ == 23) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance();
+ }
+
+ public static final int ORIGINAL_DST_LB_CONFIG_FIELD_NUMBER = 34;
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public boolean hasOriginalDstLbConfig() {
+ return lbConfigCase_ == 34;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig getOriginalDstLbConfig() {
+ if (lbConfigCase_ == 34) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder() {
+ if (lbConfigCase_ == 34) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance();
+ }
+
+ public static final int LEAST_REQUEST_LB_CONFIG_FIELD_NUMBER = 37;
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public boolean hasLeastRequestLbConfig() {
+ return lbConfigCase_ == 37;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig getLeastRequestLbConfig() {
+ if (lbConfigCase_ == 37) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder() {
+ if (lbConfigCase_ == 37) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance();
+ }
+
+ public static final int COMMON_LB_CONFIG_FIELD_NUMBER = 27;
+ private io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig commonLbConfig_;
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public boolean hasCommonLbConfig() {
+ return commonLbConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig getCommonLbConfig() {
+ return commonLbConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.getDefaultInstance() : commonLbConfig_;
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder() {
+ return getCommonLbConfig();
+ }
+
+ public static final int TRANSPORT_SOCKET_FIELD_NUMBER = 24;
+ private io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket transportSocket_;
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public boolean hasTransportSocket() {
+ return transportSocket_ != null;
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket getTransportSocket() {
+ return transportSocket_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.getDefaultInstance() : transportSocket_;
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocketOrBuilder getTransportSocketOrBuilder() {
+ return getTransportSocket();
+ }
+
+ public static final int METADATA_FIELD_NUMBER = 25;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Metadata metadata_;
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public boolean hasMetadata() {
+ return metadata_ != null;
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata getMetadata() {
+ return metadata_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Metadata.getDefaultInstance() : metadata_;
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder getMetadataOrBuilder() {
+ return getMetadata();
+ }
+
+ public static final int PROTOCOL_SELECTION_FIELD_NUMBER = 26;
+ private int protocolSelection_;
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ public int getProtocolSelectionValue() {
+ return protocolSelection_;
+ }
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection getProtocolSelection() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection result = io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection.valueOf(protocolSelection_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection.UNRECOGNIZED : result;
+ }
+
+ public static final int UPSTREAM_CONNECTION_OPTIONS_FIELD_NUMBER = 30;
+ private io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions upstreamConnectionOptions_;
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public boolean hasUpstreamConnectionOptions() {
+ return upstreamConnectionOptions_ != null;
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions getUpstreamConnectionOptions() {
+ return upstreamConnectionOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.getDefaultInstance() : upstreamConnectionOptions_;
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder() {
+ return getUpstreamConnectionOptions();
+ }
+
+ public static final int CLOSE_CONNECTIONS_ON_HOST_HEALTH_FAILURE_FIELD_NUMBER = 31;
+ private boolean closeConnectionsOnHostHealthFailure_;
+ /**
+ * <pre>
+ * If an upstream host becomes unhealthy (as determined by the configured health checks
+ * or outlier detection), immediately close all connections to the failed host.
+ * .. note::
+ * This is currently only supported for connections created by tcp_proxy.
+ * .. note::
+ * The current implementation of this feature closes all connections immediately when
+ * the unhealthy status is detected. If there are a large number of connections open
+ * to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
+ * time exclusively closing these connections, and not processing any other traffic.
+ * </pre>
+ *
+ * <code>bool close_connections_on_host_health_failure = 31;</code>
+ */
+ public boolean getCloseConnectionsOnHostHealthFailure() {
+ return closeConnectionsOnHostHealthFailure_;
+ }
+
+ public static final int DRAIN_CONNECTIONS_ON_HOST_REMOVAL_FIELD_NUMBER = 32;
+ private boolean drainConnectionsOnHostRemoval_;
+ /**
+ * <pre>
+ * If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain
+ * connections from any hosts that are removed from service discovery.
+ * This only affects behavior for hosts that are being actively health checked.
+ * If this flag is not set to true, Envoy will wait until the hosts fail active health
+ * checking before removing it from the cluster.
+ * </pre>
+ *
+ * <code>bool drain_connections_on_host_removal = 32;</code>
+ */
+ public boolean getDrainConnectionsOnHostRemoval() {
+ return drainConnectionsOnHostRemoval_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (type_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType.STATIC.getNumber()) {
+ output.writeEnum(2, type_);
+ }
+ if (edsClusterConfig_ != null) {
+ output.writeMessage(3, getEdsClusterConfig());
+ }
+ if (connectTimeout_ != null) {
+ output.writeMessage(4, getConnectTimeout());
+ }
+ if (perConnectionBufferLimitBytes_ != null) {
+ output.writeMessage(5, getPerConnectionBufferLimitBytes());
+ }
+ if (lbPolicy_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy.ROUND_ROBIN.getNumber()) {
+ output.writeEnum(6, lbPolicy_);
+ }
+ for (int i = 0; i < hosts_.size(); i++) {
+ output.writeMessage(7, hosts_.get(i));
+ }
+ for (int i = 0; i < healthChecks_.size(); i++) {
+ output.writeMessage(8, healthChecks_.get(i));
+ }
+ if (maxRequestsPerConnection_ != null) {
+ output.writeMessage(9, getMaxRequestsPerConnection());
+ }
+ if (circuitBreakers_ != null) {
+ output.writeMessage(10, getCircuitBreakers());
+ }
+ if (tlsContext_ != null) {
+ output.writeMessage(11, getTlsContext());
+ }
+ if (httpProtocolOptions_ != null) {
+ output.writeMessage(13, getHttpProtocolOptions());
+ }
+ if (http2ProtocolOptions_ != null) {
+ output.writeMessage(14, getHttp2ProtocolOptions());
+ }
+ if (dnsRefreshRate_ != null) {
+ output.writeMessage(16, getDnsRefreshRate());
+ }
+ if (dnsLookupFamily_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily.AUTO.getNumber()) {
+ output.writeEnum(17, dnsLookupFamily_);
+ }
+ for (int i = 0; i < dnsResolvers_.size(); i++) {
+ output.writeMessage(18, dnsResolvers_.get(i));
+ }
+ if (outlierDetection_ != null) {
+ output.writeMessage(19, getOutlierDetection());
+ }
+ if (cleanupInterval_ != null) {
+ output.writeMessage(20, getCleanupInterval());
+ }
+ if (upstreamBindConfig_ != null) {
+ output.writeMessage(21, getUpstreamBindConfig());
+ }
+ if (lbSubsetConfig_ != null) {
+ output.writeMessage(22, getLbSubsetConfig());
+ }
+ if (lbConfigCase_ == 23) {
+ output.writeMessage(23, (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_);
+ }
+ if (transportSocket_ != null) {
+ output.writeMessage(24, getTransportSocket());
+ }
+ if (metadata_ != null) {
+ output.writeMessage(25, getMetadata());
+ }
+ if (protocolSelection_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection.USE_CONFIGURED_PROTOCOL.getNumber()) {
+ output.writeEnum(26, protocolSelection_);
+ }
+ if (commonLbConfig_ != null) {
+ output.writeMessage(27, getCommonLbConfig());
+ }
+ if (!getAltStatNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 28, altStatName_);
+ }
+ if (commonHttpProtocolOptions_ != null) {
+ output.writeMessage(29, getCommonHttpProtocolOptions());
+ }
+ if (upstreamConnectionOptions_ != null) {
+ output.writeMessage(30, getUpstreamConnectionOptions());
+ }
+ if (closeConnectionsOnHostHealthFailure_ != false) {
+ output.writeBool(31, closeConnectionsOnHostHealthFailure_);
+ }
+ if (drainConnectionsOnHostRemoval_ != false) {
+ output.writeBool(32, drainConnectionsOnHostRemoval_);
+ }
+ if (loadAssignment_ != null) {
+ output.writeMessage(33, getLoadAssignment());
+ }
+ if (lbConfigCase_ == 34) {
+ output.writeMessage(34, (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_);
+ }
+ com.google.protobuf.GeneratedMessageV3
+ .serializeStringMapTo(
+ output,
+ internalGetExtensionProtocolOptions(),
+ ExtensionProtocolOptionsDefaultEntryHolder.defaultEntry,
+ 35);
+ com.google.protobuf.GeneratedMessageV3
+ .serializeStringMapTo(
+ output,
+ internalGetTypedExtensionProtocolOptions(),
+ TypedExtensionProtocolOptionsDefaultEntryHolder.defaultEntry,
+ 36);
+ if (lbConfigCase_ == 37) {
+ output.writeMessage(37, (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (type_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType.STATIC.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(2, type_);
+ }
+ if (edsClusterConfig_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getEdsClusterConfig());
+ }
+ if (connectTimeout_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getConnectTimeout());
+ }
+ if (perConnectionBufferLimitBytes_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getPerConnectionBufferLimitBytes());
+ }
+ if (lbPolicy_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy.ROUND_ROBIN.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(6, lbPolicy_);
+ }
+ for (int i = 0; i < hosts_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, hosts_.get(i));
+ }
+ for (int i = 0; i < healthChecks_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(8, healthChecks_.get(i));
+ }
+ if (maxRequestsPerConnection_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(9, getMaxRequestsPerConnection());
+ }
+ if (circuitBreakers_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(10, getCircuitBreakers());
+ }
+ if (tlsContext_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(11, getTlsContext());
+ }
+ if (httpProtocolOptions_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(13, getHttpProtocolOptions());
+ }
+ if (http2ProtocolOptions_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(14, getHttp2ProtocolOptions());
+ }
+ if (dnsRefreshRate_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(16, getDnsRefreshRate());
+ }
+ if (dnsLookupFamily_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily.AUTO.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(17, dnsLookupFamily_);
+ }
+ for (int i = 0; i < dnsResolvers_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(18, dnsResolvers_.get(i));
+ }
+ if (outlierDetection_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(19, getOutlierDetection());
+ }
+ if (cleanupInterval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(20, getCleanupInterval());
+ }
+ if (upstreamBindConfig_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(21, getUpstreamBindConfig());
+ }
+ if (lbSubsetConfig_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(22, getLbSubsetConfig());
+ }
+ if (lbConfigCase_ == 23) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(23, (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_);
+ }
+ if (transportSocket_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(24, getTransportSocket());
+ }
+ if (metadata_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(25, getMetadata());
+ }
+ if (protocolSelection_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection.USE_CONFIGURED_PROTOCOL.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(26, protocolSelection_);
+ }
+ if (commonLbConfig_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(27, getCommonLbConfig());
+ }
+ if (!getAltStatNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(28, altStatName_);
+ }
+ if (commonHttpProtocolOptions_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(29, getCommonHttpProtocolOptions());
+ }
+ if (upstreamConnectionOptions_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(30, getUpstreamConnectionOptions());
+ }
+ if (closeConnectionsOnHostHealthFailure_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(31, closeConnectionsOnHostHealthFailure_);
+ }
+ if (drainConnectionsOnHostRemoval_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(32, drainConnectionsOnHostRemoval_);
+ }
+ if (loadAssignment_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(33, getLoadAssignment());
+ }
+ if (lbConfigCase_ == 34) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(34, (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_);
+ }
+ for (java.util.Map.Entry<java.lang.String, com.google.protobuf.Struct> entry
+ : internalGetExtensionProtocolOptions().getMap().entrySet()) {
+ com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Struct>
+ extensionProtocolOptions__ = ExtensionProtocolOptionsDefaultEntryHolder.defaultEntry.newBuilderForType()
+ .setKey(entry.getKey())
+ .setValue(entry.getValue())
+ .build();
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(35, extensionProtocolOptions__);
+ }
+ for (java.util.Map.Entry<java.lang.String, com.google.protobuf.Any> entry
+ : internalGetTypedExtensionProtocolOptions().getMap().entrySet()) {
+ com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Any>
+ typedExtensionProtocolOptions__ = TypedExtensionProtocolOptionsDefaultEntryHolder.defaultEntry.newBuilderForType()
+ .setKey(entry.getKey())
+ .setValue(entry.getValue())
+ .build();
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(36, typedExtensionProtocolOptions__);
+ }
+ if (lbConfigCase_ == 37) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(37, (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Cluster other = (io.grpc.xds.shaded.envoy.api.v2.Cluster) obj;
+
+ boolean result = true;
+ result = result && getName()
+ .equals(other.getName());
+ result = result && getAltStatName()
+ .equals(other.getAltStatName());
+ result = result && type_ == other.type_;
+ result = result && (hasEdsClusterConfig() == other.hasEdsClusterConfig());
+ if (hasEdsClusterConfig()) {
+ result = result && getEdsClusterConfig()
+ .equals(other.getEdsClusterConfig());
+ }
+ result = result && (hasConnectTimeout() == other.hasConnectTimeout());
+ if (hasConnectTimeout()) {
+ result = result && getConnectTimeout()
+ .equals(other.getConnectTimeout());
+ }
+ result = result && (hasPerConnectionBufferLimitBytes() == other.hasPerConnectionBufferLimitBytes());
+ if (hasPerConnectionBufferLimitBytes()) {
+ result = result && getPerConnectionBufferLimitBytes()
+ .equals(other.getPerConnectionBufferLimitBytes());
+ }
+ result = result && lbPolicy_ == other.lbPolicy_;
+ result = result && getHostsList()
+ .equals(other.getHostsList());
+ result = result && (hasLoadAssignment() == other.hasLoadAssignment());
+ if (hasLoadAssignment()) {
+ result = result && getLoadAssignment()
+ .equals(other.getLoadAssignment());
+ }
+ result = result && getHealthChecksList()
+ .equals(other.getHealthChecksList());
+ result = result && (hasMaxRequestsPerConnection() == other.hasMaxRequestsPerConnection());
+ if (hasMaxRequestsPerConnection()) {
+ result = result && getMaxRequestsPerConnection()
+ .equals(other.getMaxRequestsPerConnection());
+ }
+ result = result && (hasCircuitBreakers() == other.hasCircuitBreakers());
+ if (hasCircuitBreakers()) {
+ result = result && getCircuitBreakers()
+ .equals(other.getCircuitBreakers());
+ }
+ result = result && (hasTlsContext() == other.hasTlsContext());
+ if (hasTlsContext()) {
+ result = result && getTlsContext()
+ .equals(other.getTlsContext());
+ }
+ result = result && (hasCommonHttpProtocolOptions() == other.hasCommonHttpProtocolOptions());
+ if (hasCommonHttpProtocolOptions()) {
+ result = result && getCommonHttpProtocolOptions()
+ .equals(other.getCommonHttpProtocolOptions());
+ }
+ result = result && (hasHttpProtocolOptions() == other.hasHttpProtocolOptions());
+ if (hasHttpProtocolOptions()) {
+ result = result && getHttpProtocolOptions()
+ .equals(other.getHttpProtocolOptions());
+ }
+ result = result && (hasHttp2ProtocolOptions() == other.hasHttp2ProtocolOptions());
+ if (hasHttp2ProtocolOptions()) {
+ result = result && getHttp2ProtocolOptions()
+ .equals(other.getHttp2ProtocolOptions());
+ }
+ result = result && internalGetExtensionProtocolOptions().equals(
+ other.internalGetExtensionProtocolOptions());
+ result = result && internalGetTypedExtensionProtocolOptions().equals(
+ other.internalGetTypedExtensionProtocolOptions());
+ result = result && (hasDnsRefreshRate() == other.hasDnsRefreshRate());
+ if (hasDnsRefreshRate()) {
+ result = result && getDnsRefreshRate()
+ .equals(other.getDnsRefreshRate());
+ }
+ result = result && dnsLookupFamily_ == other.dnsLookupFamily_;
+ result = result && getDnsResolversList()
+ .equals(other.getDnsResolversList());
+ result = result && (hasOutlierDetection() == other.hasOutlierDetection());
+ if (hasOutlierDetection()) {
+ result = result && getOutlierDetection()
+ .equals(other.getOutlierDetection());
+ }
+ result = result && (hasCleanupInterval() == other.hasCleanupInterval());
+ if (hasCleanupInterval()) {
+ result = result && getCleanupInterval()
+ .equals(other.getCleanupInterval());
+ }
+ result = result && (hasUpstreamBindConfig() == other.hasUpstreamBindConfig());
+ if (hasUpstreamBindConfig()) {
+ result = result && getUpstreamBindConfig()
+ .equals(other.getUpstreamBindConfig());
+ }
+ result = result && (hasLbSubsetConfig() == other.hasLbSubsetConfig());
+ if (hasLbSubsetConfig()) {
+ result = result && getLbSubsetConfig()
+ .equals(other.getLbSubsetConfig());
+ }
+ result = result && (hasCommonLbConfig() == other.hasCommonLbConfig());
+ if (hasCommonLbConfig()) {
+ result = result && getCommonLbConfig()
+ .equals(other.getCommonLbConfig());
+ }
+ result = result && (hasTransportSocket() == other.hasTransportSocket());
+ if (hasTransportSocket()) {
+ result = result && getTransportSocket()
+ .equals(other.getTransportSocket());
+ }
+ result = result && (hasMetadata() == other.hasMetadata());
+ if (hasMetadata()) {
+ result = result && getMetadata()
+ .equals(other.getMetadata());
+ }
+ result = result && protocolSelection_ == other.protocolSelection_;
+ result = result && (hasUpstreamConnectionOptions() == other.hasUpstreamConnectionOptions());
+ if (hasUpstreamConnectionOptions()) {
+ result = result && getUpstreamConnectionOptions()
+ .equals(other.getUpstreamConnectionOptions());
+ }
+ result = result && (getCloseConnectionsOnHostHealthFailure()
+ == other.getCloseConnectionsOnHostHealthFailure());
+ result = result && (getDrainConnectionsOnHostRemoval()
+ == other.getDrainConnectionsOnHostRemoval());
+ result = result && getLbConfigCase().equals(
+ other.getLbConfigCase());
+ if (!result) return false;
+ switch (lbConfigCase_) {
+ case 23:
+ result = result && getRingHashLbConfig()
+ .equals(other.getRingHashLbConfig());
+ break;
+ case 34:
+ result = result && getOriginalDstLbConfig()
+ .equals(other.getOriginalDstLbConfig());
+ break;
+ case 37:
+ result = result && getLeastRequestLbConfig()
+ .equals(other.getLeastRequestLbConfig());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ hash = (37 * hash) + ALT_STAT_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getAltStatName().hashCode();
+ hash = (37 * hash) + TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + type_;
+ if (hasEdsClusterConfig()) {
+ hash = (37 * hash) + EDS_CLUSTER_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getEdsClusterConfig().hashCode();
+ }
+ if (hasConnectTimeout()) {
+ hash = (37 * hash) + CONNECT_TIMEOUT_FIELD_NUMBER;
+ hash = (53 * hash) + getConnectTimeout().hashCode();
+ }
+ if (hasPerConnectionBufferLimitBytes()) {
+ hash = (37 * hash) + PER_CONNECTION_BUFFER_LIMIT_BYTES_FIELD_NUMBER;
+ hash = (53 * hash) + getPerConnectionBufferLimitBytes().hashCode();
+ }
+ hash = (37 * hash) + LB_POLICY_FIELD_NUMBER;
+ hash = (53 * hash) + lbPolicy_;
+ if (getHostsCount() > 0) {
+ hash = (37 * hash) + HOSTS_FIELD_NUMBER;
+ hash = (53 * hash) + getHostsList().hashCode();
+ }
+ if (hasLoadAssignment()) {
+ hash = (37 * hash) + LOAD_ASSIGNMENT_FIELD_NUMBER;
+ hash = (53 * hash) + getLoadAssignment().hashCode();
+ }
+ if (getHealthChecksCount() > 0) {
+ hash = (37 * hash) + HEALTH_CHECKS_FIELD_NUMBER;
+ hash = (53 * hash) + getHealthChecksList().hashCode();
+ }
+ if (hasMaxRequestsPerConnection()) {
+ hash = (37 * hash) + MAX_REQUESTS_PER_CONNECTION_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxRequestsPerConnection().hashCode();
+ }
+ if (hasCircuitBreakers()) {
+ hash = (37 * hash) + CIRCUIT_BREAKERS_FIELD_NUMBER;
+ hash = (53 * hash) + getCircuitBreakers().hashCode();
+ }
+ if (hasTlsContext()) {
+ hash = (37 * hash) + TLS_CONTEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getTlsContext().hashCode();
+ }
+ if (hasCommonHttpProtocolOptions()) {
+ hash = (37 * hash) + COMMON_HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + getCommonHttpProtocolOptions().hashCode();
+ }
+ if (hasHttpProtocolOptions()) {
+ hash = (37 * hash) + HTTP_PROTOCOL_OPTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + getHttpProtocolOptions().hashCode();
+ }
+ if (hasHttp2ProtocolOptions()) {
+ hash = (37 * hash) + HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + getHttp2ProtocolOptions().hashCode();
+ }
+ if (!internalGetExtensionProtocolOptions().getMap().isEmpty()) {
+ hash = (37 * hash) + EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + internalGetExtensionProtocolOptions().hashCode();
+ }
+ if (!internalGetTypedExtensionProtocolOptions().getMap().isEmpty()) {
+ hash = (37 * hash) + TYPED_EXTENSION_PROTOCOL_OPTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + internalGetTypedExtensionProtocolOptions().hashCode();
+ }
+ if (hasDnsRefreshRate()) {
+ hash = (37 * hash) + DNS_REFRESH_RATE_FIELD_NUMBER;
+ hash = (53 * hash) + getDnsRefreshRate().hashCode();
+ }
+ hash = (37 * hash) + DNS_LOOKUP_FAMILY_FIELD_NUMBER;
+ hash = (53 * hash) + dnsLookupFamily_;
+ if (getDnsResolversCount() > 0) {
+ hash = (37 * hash) + DNS_RESOLVERS_FIELD_NUMBER;
+ hash = (53 * hash) + getDnsResolversList().hashCode();
+ }
+ if (hasOutlierDetection()) {
+ hash = (37 * hash) + OUTLIER_DETECTION_FIELD_NUMBER;
+ hash = (53 * hash) + getOutlierDetection().hashCode();
+ }
+ if (hasCleanupInterval()) {
+ hash = (37 * hash) + CLEANUP_INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getCleanupInterval().hashCode();
+ }
+ if (hasUpstreamBindConfig()) {
+ hash = (37 * hash) + UPSTREAM_BIND_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getUpstreamBindConfig().hashCode();
+ }
+ if (hasLbSubsetConfig()) {
+ hash = (37 * hash) + LB_SUBSET_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getLbSubsetConfig().hashCode();
+ }
+ if (hasCommonLbConfig()) {
+ hash = (37 * hash) + COMMON_LB_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getCommonLbConfig().hashCode();
+ }
+ if (hasTransportSocket()) {
+ hash = (37 * hash) + TRANSPORT_SOCKET_FIELD_NUMBER;
+ hash = (53 * hash) + getTransportSocket().hashCode();
+ }
+ if (hasMetadata()) {
+ hash = (37 * hash) + METADATA_FIELD_NUMBER;
+ hash = (53 * hash) + getMetadata().hashCode();
+ }
+ hash = (37 * hash) + PROTOCOL_SELECTION_FIELD_NUMBER;
+ hash = (53 * hash) + protocolSelection_;
+ if (hasUpstreamConnectionOptions()) {
+ hash = (37 * hash) + UPSTREAM_CONNECTION_OPTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + getUpstreamConnectionOptions().hashCode();
+ }
+ hash = (37 * hash) + CLOSE_CONNECTIONS_ON_HOST_HEALTH_FAILURE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getCloseConnectionsOnHostHealthFailure());
+ hash = (37 * hash) + DRAIN_CONNECTIONS_ON_HOST_REMOVAL_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getDrainConnectionsOnHostRemoval());
+ switch (lbConfigCase_) {
+ case 23:
+ hash = (37 * hash) + RING_HASH_LB_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getRingHashLbConfig().hashCode();
+ break;
+ case 34:
+ hash = (37 * hash) + ORIGINAL_DST_LB_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getOriginalDstLbConfig().hashCode();
+ break;
+ case 37:
+ hash = (37 * hash) + LEAST_REQUEST_LB_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getLeastRequestLbConfig().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Cluster prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Configuration for a single upstream cluster.
+ * [#comment:next free field: 38]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.Cluster}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Cluster)
+ io.grpc.xds.shaded.envoy.api.v2.ClusterOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_descriptor;
+ }
+
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 35:
+ return internalGetExtensionProtocolOptions();
+ case 36:
+ return internalGetTypedExtensionProtocolOptions();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMutableMapField(
+ int number) {
+ switch (number) {
+ case 35:
+ return internalGetMutableExtensionProtocolOptions();
+ case 36:
+ return internalGetMutableTypedExtensionProtocolOptions();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.class, io.grpc.xds.shaded.envoy.api.v2.Cluster.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Cluster.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getHostsFieldBuilder();
+ getHealthChecksFieldBuilder();
+ getDnsResolversFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ altStatName_ = "";
+
+ type_ = 0;
+
+ if (edsClusterConfigBuilder_ == null) {
+ edsClusterConfig_ = null;
+ } else {
+ edsClusterConfig_ = null;
+ edsClusterConfigBuilder_ = null;
+ }
+ if (connectTimeoutBuilder_ == null) {
+ connectTimeout_ = null;
+ } else {
+ connectTimeout_ = null;
+ connectTimeoutBuilder_ = null;
+ }
+ if (perConnectionBufferLimitBytesBuilder_ == null) {
+ perConnectionBufferLimitBytes_ = null;
+ } else {
+ perConnectionBufferLimitBytes_ = null;
+ perConnectionBufferLimitBytesBuilder_ = null;
+ }
+ lbPolicy_ = 0;
+
+ if (hostsBuilder_ == null) {
+ hosts_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000080);
+ } else {
+ hostsBuilder_.clear();
+ }
+ if (loadAssignmentBuilder_ == null) {
+ loadAssignment_ = null;
+ } else {
+ loadAssignment_ = null;
+ loadAssignmentBuilder_ = null;
+ }
+ if (healthChecksBuilder_ == null) {
+ healthChecks_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000200);
+ } else {
+ healthChecksBuilder_.clear();
+ }
+ if (maxRequestsPerConnectionBuilder_ == null) {
+ maxRequestsPerConnection_ = null;
+ } else {
+ maxRequestsPerConnection_ = null;
+ maxRequestsPerConnectionBuilder_ = null;
+ }
+ if (circuitBreakersBuilder_ == null) {
+ circuitBreakers_ = null;
+ } else {
+ circuitBreakers_ = null;
+ circuitBreakersBuilder_ = null;
+ }
+ if (tlsContextBuilder_ == null) {
+ tlsContext_ = null;
+ } else {
+ tlsContext_ = null;
+ tlsContextBuilder_ = null;
+ }
+ if (commonHttpProtocolOptionsBuilder_ == null) {
+ commonHttpProtocolOptions_ = null;
+ } else {
+ commonHttpProtocolOptions_ = null;
+ commonHttpProtocolOptionsBuilder_ = null;
+ }
+ if (httpProtocolOptionsBuilder_ == null) {
+ httpProtocolOptions_ = null;
+ } else {
+ httpProtocolOptions_ = null;
+ httpProtocolOptionsBuilder_ = null;
+ }
+ if (http2ProtocolOptionsBuilder_ == null) {
+ http2ProtocolOptions_ = null;
+ } else {
+ http2ProtocolOptions_ = null;
+ http2ProtocolOptionsBuilder_ = null;
+ }
+ internalGetMutableExtensionProtocolOptions().clear();
+ internalGetMutableTypedExtensionProtocolOptions().clear();
+ if (dnsRefreshRateBuilder_ == null) {
+ dnsRefreshRate_ = null;
+ } else {
+ dnsRefreshRate_ = null;
+ dnsRefreshRateBuilder_ = null;
+ }
+ dnsLookupFamily_ = 0;
+
+ if (dnsResolversBuilder_ == null) {
+ dnsResolvers_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00100000);
+ } else {
+ dnsResolversBuilder_.clear();
+ }
+ if (outlierDetectionBuilder_ == null) {
+ outlierDetection_ = null;
+ } else {
+ outlierDetection_ = null;
+ outlierDetectionBuilder_ = null;
+ }
+ if (cleanupIntervalBuilder_ == null) {
+ cleanupInterval_ = null;
+ } else {
+ cleanupInterval_ = null;
+ cleanupIntervalBuilder_ = null;
+ }
+ if (upstreamBindConfigBuilder_ == null) {
+ upstreamBindConfig_ = null;
+ } else {
+ upstreamBindConfig_ = null;
+ upstreamBindConfigBuilder_ = null;
+ }
+ if (lbSubsetConfigBuilder_ == null) {
+ lbSubsetConfig_ = null;
+ } else {
+ lbSubsetConfig_ = null;
+ lbSubsetConfigBuilder_ = null;
+ }
+ if (commonLbConfigBuilder_ == null) {
+ commonLbConfig_ = null;
+ } else {
+ commonLbConfig_ = null;
+ commonLbConfigBuilder_ = null;
+ }
+ if (transportSocketBuilder_ == null) {
+ transportSocket_ = null;
+ } else {
+ transportSocket_ = null;
+ transportSocketBuilder_ = null;
+ }
+ if (metadataBuilder_ == null) {
+ metadata_ = null;
+ } else {
+ metadata_ = null;
+ metadataBuilder_ = null;
+ }
+ protocolSelection_ = 0;
+
+ if (upstreamConnectionOptionsBuilder_ == null) {
+ upstreamConnectionOptions_ = null;
+ } else {
+ upstreamConnectionOptions_ = null;
+ upstreamConnectionOptionsBuilder_ = null;
+ }
+ closeConnectionsOnHostHealthFailure_ = false;
+
+ drainConnectionsOnHostRemoval_ = false;
+
+ lbConfigCase_ = 0;
+ lbConfig_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_Cluster_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster build() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster result = new io.grpc.xds.shaded.envoy.api.v2.Cluster(this);
+ int from_bitField0_ = bitField0_;
+ int from_bitField1_ = bitField1_;
+ int to_bitField0_ = 0;
+ result.name_ = name_;
+ result.altStatName_ = altStatName_;
+ result.type_ = type_;
+ if (edsClusterConfigBuilder_ == null) {
+ result.edsClusterConfig_ = edsClusterConfig_;
+ } else {
+ result.edsClusterConfig_ = edsClusterConfigBuilder_.build();
+ }
+ if (connectTimeoutBuilder_ == null) {
+ result.connectTimeout_ = connectTimeout_;
+ } else {
+ result.connectTimeout_ = connectTimeoutBuilder_.build();
+ }
+ if (perConnectionBufferLimitBytesBuilder_ == null) {
+ result.perConnectionBufferLimitBytes_ = perConnectionBufferLimitBytes_;
+ } else {
+ result.perConnectionBufferLimitBytes_ = perConnectionBufferLimitBytesBuilder_.build();
+ }
+ result.lbPolicy_ = lbPolicy_;
+ if (hostsBuilder_ == null) {
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ hosts_ = java.util.Collections.unmodifiableList(hosts_);
+ bitField0_ = (bitField0_ & ~0x00000080);
+ }
+ result.hosts_ = hosts_;
+ } else {
+ result.hosts_ = hostsBuilder_.build();
+ }
+ if (loadAssignmentBuilder_ == null) {
+ result.loadAssignment_ = loadAssignment_;
+ } else {
+ result.loadAssignment_ = loadAssignmentBuilder_.build();
+ }
+ if (healthChecksBuilder_ == null) {
+ if (((bitField0_ & 0x00000200) == 0x00000200)) {
+ healthChecks_ = java.util.Collections.unmodifiableList(healthChecks_);
+ bitField0_ = (bitField0_ & ~0x00000200);
+ }
+ result.healthChecks_ = healthChecks_;
+ } else {
+ result.healthChecks_ = healthChecksBuilder_.build();
+ }
+ if (maxRequestsPerConnectionBuilder_ == null) {
+ result.maxRequestsPerConnection_ = maxRequestsPerConnection_;
+ } else {
+ result.maxRequestsPerConnection_ = maxRequestsPerConnectionBuilder_.build();
+ }
+ if (circuitBreakersBuilder_ == null) {
+ result.circuitBreakers_ = circuitBreakers_;
+ } else {
+ result.circuitBreakers_ = circuitBreakersBuilder_.build();
+ }
+ if (tlsContextBuilder_ == null) {
+ result.tlsContext_ = tlsContext_;
+ } else {
+ result.tlsContext_ = tlsContextBuilder_.build();
+ }
+ if (commonHttpProtocolOptionsBuilder_ == null) {
+ result.commonHttpProtocolOptions_ = commonHttpProtocolOptions_;
+ } else {
+ result.commonHttpProtocolOptions_ = commonHttpProtocolOptionsBuilder_.build();
+ }
+ if (httpProtocolOptionsBuilder_ == null) {
+ result.httpProtocolOptions_ = httpProtocolOptions_;
+ } else {
+ result.httpProtocolOptions_ = httpProtocolOptionsBuilder_.build();
+ }
+ if (http2ProtocolOptionsBuilder_ == null) {
+ result.http2ProtocolOptions_ = http2ProtocolOptions_;
+ } else {
+ result.http2ProtocolOptions_ = http2ProtocolOptionsBuilder_.build();
+ }
+ result.extensionProtocolOptions_ = internalGetExtensionProtocolOptions();
+ result.extensionProtocolOptions_.makeImmutable();
+ result.typedExtensionProtocolOptions_ = internalGetTypedExtensionProtocolOptions();
+ result.typedExtensionProtocolOptions_.makeImmutable();
+ if (dnsRefreshRateBuilder_ == null) {
+ result.dnsRefreshRate_ = dnsRefreshRate_;
+ } else {
+ result.dnsRefreshRate_ = dnsRefreshRateBuilder_.build();
+ }
+ result.dnsLookupFamily_ = dnsLookupFamily_;
+ if (dnsResolversBuilder_ == null) {
+ if (((bitField0_ & 0x00100000) == 0x00100000)) {
+ dnsResolvers_ = java.util.Collections.unmodifiableList(dnsResolvers_);
+ bitField0_ = (bitField0_ & ~0x00100000);
+ }
+ result.dnsResolvers_ = dnsResolvers_;
+ } else {
+ result.dnsResolvers_ = dnsResolversBuilder_.build();
+ }
+ if (outlierDetectionBuilder_ == null) {
+ result.outlierDetection_ = outlierDetection_;
+ } else {
+ result.outlierDetection_ = outlierDetectionBuilder_.build();
+ }
+ if (cleanupIntervalBuilder_ == null) {
+ result.cleanupInterval_ = cleanupInterval_;
+ } else {
+ result.cleanupInterval_ = cleanupIntervalBuilder_.build();
+ }
+ if (upstreamBindConfigBuilder_ == null) {
+ result.upstreamBindConfig_ = upstreamBindConfig_;
+ } else {
+ result.upstreamBindConfig_ = upstreamBindConfigBuilder_.build();
+ }
+ if (lbSubsetConfigBuilder_ == null) {
+ result.lbSubsetConfig_ = lbSubsetConfig_;
+ } else {
+ result.lbSubsetConfig_ = lbSubsetConfigBuilder_.build();
+ }
+ if (lbConfigCase_ == 23) {
+ if (ringHashLbConfigBuilder_ == null) {
+ result.lbConfig_ = lbConfig_;
+ } else {
+ result.lbConfig_ = ringHashLbConfigBuilder_.build();
+ }
+ }
+ if (lbConfigCase_ == 34) {
+ if (originalDstLbConfigBuilder_ == null) {
+ result.lbConfig_ = lbConfig_;
+ } else {
+ result.lbConfig_ = originalDstLbConfigBuilder_.build();
+ }
+ }
+ if (lbConfigCase_ == 37) {
+ if (leastRequestLbConfigBuilder_ == null) {
+ result.lbConfig_ = lbConfig_;
+ } else {
+ result.lbConfig_ = leastRequestLbConfigBuilder_.build();
+ }
+ }
+ if (commonLbConfigBuilder_ == null) {
+ result.commonLbConfig_ = commonLbConfig_;
+ } else {
+ result.commonLbConfig_ = commonLbConfigBuilder_.build();
+ }
+ if (transportSocketBuilder_ == null) {
+ result.transportSocket_ = transportSocket_;
+ } else {
+ result.transportSocket_ = transportSocketBuilder_.build();
+ }
+ if (metadataBuilder_ == null) {
+ result.metadata_ = metadata_;
+ } else {
+ result.metadata_ = metadataBuilder_.build();
+ }
+ result.protocolSelection_ = protocolSelection_;
+ if (upstreamConnectionOptionsBuilder_ == null) {
+ result.upstreamConnectionOptions_ = upstreamConnectionOptions_;
+ } else {
+ result.upstreamConnectionOptions_ = upstreamConnectionOptionsBuilder_.build();
+ }
+ result.closeConnectionsOnHostHealthFailure_ = closeConnectionsOnHostHealthFailure_;
+ result.drainConnectionsOnHostRemoval_ = drainConnectionsOnHostRemoval_;
+ result.bitField0_ = to_bitField0_;
+ result.lbConfigCase_ = lbConfigCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Cluster) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Cluster)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Cluster other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Cluster.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ if (!other.getAltStatName().isEmpty()) {
+ altStatName_ = other.altStatName_;
+ onChanged();
+ }
+ if (other.type_ != 0) {
+ setTypeValue(other.getTypeValue());
+ }
+ if (other.hasEdsClusterConfig()) {
+ mergeEdsClusterConfig(other.getEdsClusterConfig());
+ }
+ if (other.hasConnectTimeout()) {
+ mergeConnectTimeout(other.getConnectTimeout());
+ }
+ if (other.hasPerConnectionBufferLimitBytes()) {
+ mergePerConnectionBufferLimitBytes(other.getPerConnectionBufferLimitBytes());
+ }
+ if (other.lbPolicy_ != 0) {
+ setLbPolicyValue(other.getLbPolicyValue());
+ }
+ if (hostsBuilder_ == null) {
+ if (!other.hosts_.isEmpty()) {
+ if (hosts_.isEmpty()) {
+ hosts_ = other.hosts_;
+ bitField0_ = (bitField0_ & ~0x00000080);
+ } else {
+ ensureHostsIsMutable();
+ hosts_.addAll(other.hosts_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.hosts_.isEmpty()) {
+ if (hostsBuilder_.isEmpty()) {
+ hostsBuilder_.dispose();
+ hostsBuilder_ = null;
+ hosts_ = other.hosts_;
+ bitField0_ = (bitField0_ & ~0x00000080);
+ hostsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getHostsFieldBuilder() : null;
+ } else {
+ hostsBuilder_.addAllMessages(other.hosts_);
+ }
+ }
+ }
+ if (other.hasLoadAssignment()) {
+ mergeLoadAssignment(other.getLoadAssignment());
+ }
+ if (healthChecksBuilder_ == null) {
+ if (!other.healthChecks_.isEmpty()) {
+ if (healthChecks_.isEmpty()) {
+ healthChecks_ = other.healthChecks_;
+ bitField0_ = (bitField0_ & ~0x00000200);
+ } else {
+ ensureHealthChecksIsMutable();
+ healthChecks_.addAll(other.healthChecks_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.healthChecks_.isEmpty()) {
+ if (healthChecksBuilder_.isEmpty()) {
+ healthChecksBuilder_.dispose();
+ healthChecksBuilder_ = null;
+ healthChecks_ = other.healthChecks_;
+ bitField0_ = (bitField0_ & ~0x00000200);
+ healthChecksBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getHealthChecksFieldBuilder() : null;
+ } else {
+ healthChecksBuilder_.addAllMessages(other.healthChecks_);
+ }
+ }
+ }
+ if (other.hasMaxRequestsPerConnection()) {
+ mergeMaxRequestsPerConnection(other.getMaxRequestsPerConnection());
+ }
+ if (other.hasCircuitBreakers()) {
+ mergeCircuitBreakers(other.getCircuitBreakers());
+ }
+ if (other.hasTlsContext()) {
+ mergeTlsContext(other.getTlsContext());
+ }
+ if (other.hasCommonHttpProtocolOptions()) {
+ mergeCommonHttpProtocolOptions(other.getCommonHttpProtocolOptions());
+ }
+ if (other.hasHttpProtocolOptions()) {
+ mergeHttpProtocolOptions(other.getHttpProtocolOptions());
+ }
+ if (other.hasHttp2ProtocolOptions()) {
+ mergeHttp2ProtocolOptions(other.getHttp2ProtocolOptions());
+ }
+ internalGetMutableExtensionProtocolOptions().mergeFrom(
+ other.internalGetExtensionProtocolOptions());
+ internalGetMutableTypedExtensionProtocolOptions().mergeFrom(
+ other.internalGetTypedExtensionProtocolOptions());
+ if (other.hasDnsRefreshRate()) {
+ mergeDnsRefreshRate(other.getDnsRefreshRate());
+ }
+ if (other.dnsLookupFamily_ != 0) {
+ setDnsLookupFamilyValue(other.getDnsLookupFamilyValue());
+ }
+ if (dnsResolversBuilder_ == null) {
+ if (!other.dnsResolvers_.isEmpty()) {
+ if (dnsResolvers_.isEmpty()) {
+ dnsResolvers_ = other.dnsResolvers_;
+ bitField0_ = (bitField0_ & ~0x00100000);
+ } else {
+ ensureDnsResolversIsMutable();
+ dnsResolvers_.addAll(other.dnsResolvers_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.dnsResolvers_.isEmpty()) {
+ if (dnsResolversBuilder_.isEmpty()) {
+ dnsResolversBuilder_.dispose();
+ dnsResolversBuilder_ = null;
+ dnsResolvers_ = other.dnsResolvers_;
+ bitField0_ = (bitField0_ & ~0x00100000);
+ dnsResolversBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getDnsResolversFieldBuilder() : null;
+ } else {
+ dnsResolversBuilder_.addAllMessages(other.dnsResolvers_);
+ }
+ }
+ }
+ if (other.hasOutlierDetection()) {
+ mergeOutlierDetection(other.getOutlierDetection());
+ }
+ if (other.hasCleanupInterval()) {
+ mergeCleanupInterval(other.getCleanupInterval());
+ }
+ if (other.hasUpstreamBindConfig()) {
+ mergeUpstreamBindConfig(other.getUpstreamBindConfig());
+ }
+ if (other.hasLbSubsetConfig()) {
+ mergeLbSubsetConfig(other.getLbSubsetConfig());
+ }
+ if (other.hasCommonLbConfig()) {
+ mergeCommonLbConfig(other.getCommonLbConfig());
+ }
+ if (other.hasTransportSocket()) {
+ mergeTransportSocket(other.getTransportSocket());
+ }
+ if (other.hasMetadata()) {
+ mergeMetadata(other.getMetadata());
+ }
+ if (other.protocolSelection_ != 0) {
+ setProtocolSelectionValue(other.getProtocolSelectionValue());
+ }
+ if (other.hasUpstreamConnectionOptions()) {
+ mergeUpstreamConnectionOptions(other.getUpstreamConnectionOptions());
+ }
+ if (other.getCloseConnectionsOnHostHealthFailure() != false) {
+ setCloseConnectionsOnHostHealthFailure(other.getCloseConnectionsOnHostHealthFailure());
+ }
+ if (other.getDrainConnectionsOnHostRemoval() != false) {
+ setDrainConnectionsOnHostRemoval(other.getDrainConnectionsOnHostRemoval());
+ }
+ switch (other.getLbConfigCase()) {
+ case RING_HASH_LB_CONFIG: {
+ mergeRingHashLbConfig(other.getRingHashLbConfig());
+ break;
+ }
+ case ORIGINAL_DST_LB_CONFIG: {
+ mergeOriginalDstLbConfig(other.getOriginalDstLbConfig());
+ break;
+ }
+ case LEAST_REQUEST_LB_CONFIG: {
+ mergeLeastRequestLbConfig(other.getLeastRequestLbConfig());
+ break;
+ }
+ case LBCONFIG_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Cluster) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int lbConfigCase_ = 0;
+ private java.lang.Object lbConfig_;
+ public LbConfigCase
+ getLbConfigCase() {
+ return LbConfigCase.forNumber(
+ lbConfigCase_);
+ }
+
+ public Builder clearLbConfig() {
+ lbConfigCase_ = 0;
+ lbConfig_ = null;
+ onChanged();
+ return this;
+ }
+
+ private int bitField0_;
+ private int bitField1_;
+
+ private java.lang.Object name_ = "";
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object altStatName_ = "";
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ public java.lang.String getAltStatName() {
+ java.lang.Object ref = altStatName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ altStatName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAltStatNameBytes() {
+ java.lang.Object ref = altStatName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ altStatName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ public Builder setAltStatName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ altStatName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ public Builder clearAltStatName() {
+
+ altStatName_ = getDefaultInstance().getAltStatName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ public Builder setAltStatNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ altStatName_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int type_ = 0;
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getTypeValue() {
+ return type_;
+ }
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTypeValue(int value) {
+ type_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType getType() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType result = io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType.valueOf(type_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setType(io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ type_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearType() {
+
+ type_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig edsClusterConfig_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfigOrBuilder> edsClusterConfigBuilder_;
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public boolean hasEdsClusterConfig() {
+ return edsClusterConfigBuilder_ != null || edsClusterConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig getEdsClusterConfig() {
+ if (edsClusterConfigBuilder_ == null) {
+ return edsClusterConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.getDefaultInstance() : edsClusterConfig_;
+ } else {
+ return edsClusterConfigBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public Builder setEdsClusterConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig value) {
+ if (edsClusterConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ edsClusterConfig_ = value;
+ onChanged();
+ } else {
+ edsClusterConfigBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public Builder setEdsClusterConfig(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.Builder builderForValue) {
+ if (edsClusterConfigBuilder_ == null) {
+ edsClusterConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ edsClusterConfigBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public Builder mergeEdsClusterConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig value) {
+ if (edsClusterConfigBuilder_ == null) {
+ if (edsClusterConfig_ != null) {
+ edsClusterConfig_ =
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.newBuilder(edsClusterConfig_).mergeFrom(value).buildPartial();
+ } else {
+ edsClusterConfig_ = value;
+ }
+ onChanged();
+ } else {
+ edsClusterConfigBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public Builder clearEdsClusterConfig() {
+ if (edsClusterConfigBuilder_ == null) {
+ edsClusterConfig_ = null;
+ onChanged();
+ } else {
+ edsClusterConfig_ = null;
+ edsClusterConfigBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.Builder getEdsClusterConfigBuilder() {
+
+ onChanged();
+ return getEdsClusterConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder() {
+ if (edsClusterConfigBuilder_ != null) {
+ return edsClusterConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return edsClusterConfig_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.getDefaultInstance() : edsClusterConfig_;
+ }
+ }
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfigOrBuilder>
+ getEdsClusterConfigFieldBuilder() {
+ if (edsClusterConfigBuilder_ == null) {
+ edsClusterConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfigOrBuilder>(
+ getEdsClusterConfig(),
+ getParentForChildren(),
+ isClean());
+ edsClusterConfig_ = null;
+ }
+ return edsClusterConfigBuilder_;
+ }
+
+ private com.google.protobuf.Duration connectTimeout_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> connectTimeoutBuilder_;
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasConnectTimeout() {
+ return connectTimeoutBuilder_ != null || connectTimeout_ != null;
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getConnectTimeout() {
+ if (connectTimeoutBuilder_ == null) {
+ return connectTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : connectTimeout_;
+ } else {
+ return connectTimeoutBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setConnectTimeout(com.google.protobuf.Duration value) {
+ if (connectTimeoutBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ connectTimeout_ = value;
+ onChanged();
+ } else {
+ connectTimeoutBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setConnectTimeout(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (connectTimeoutBuilder_ == null) {
+ connectTimeout_ = builderForValue.build();
+ onChanged();
+ } else {
+ connectTimeoutBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeConnectTimeout(com.google.protobuf.Duration value) {
+ if (connectTimeoutBuilder_ == null) {
+ if (connectTimeout_ != null) {
+ connectTimeout_ =
+ com.google.protobuf.Duration.newBuilder(connectTimeout_).mergeFrom(value).buildPartial();
+ } else {
+ connectTimeout_ = value;
+ }
+ onChanged();
+ } else {
+ connectTimeoutBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearConnectTimeout() {
+ if (connectTimeoutBuilder_ == null) {
+ connectTimeout_ = null;
+ onChanged();
+ } else {
+ connectTimeout_ = null;
+ connectTimeoutBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getConnectTimeoutBuilder() {
+
+ onChanged();
+ return getConnectTimeoutFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getConnectTimeoutOrBuilder() {
+ if (connectTimeoutBuilder_ != null) {
+ return connectTimeoutBuilder_.getMessageOrBuilder();
+ } else {
+ return connectTimeout_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : connectTimeout_;
+ }
+ }
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getConnectTimeoutFieldBuilder() {
+ if (connectTimeoutBuilder_ == null) {
+ connectTimeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getConnectTimeout(),
+ getParentForChildren(),
+ isClean());
+ connectTimeout_ = null;
+ }
+ return connectTimeoutBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value perConnectionBufferLimitBytes_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> perConnectionBufferLimitBytesBuilder_;
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public boolean hasPerConnectionBufferLimitBytes() {
+ return perConnectionBufferLimitBytesBuilder_ != null || perConnectionBufferLimitBytes_ != null;
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value getPerConnectionBufferLimitBytes() {
+ if (perConnectionBufferLimitBytesBuilder_ == null) {
+ return perConnectionBufferLimitBytes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : perConnectionBufferLimitBytes_;
+ } else {
+ return perConnectionBufferLimitBytesBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public Builder setPerConnectionBufferLimitBytes(com.google.protobuf.UInt32Value value) {
+ if (perConnectionBufferLimitBytesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ perConnectionBufferLimitBytes_ = value;
+ onChanged();
+ } else {
+ perConnectionBufferLimitBytesBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public Builder setPerConnectionBufferLimitBytes(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (perConnectionBufferLimitBytesBuilder_ == null) {
+ perConnectionBufferLimitBytes_ = builderForValue.build();
+ onChanged();
+ } else {
+ perConnectionBufferLimitBytesBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public Builder mergePerConnectionBufferLimitBytes(com.google.protobuf.UInt32Value value) {
+ if (perConnectionBufferLimitBytesBuilder_ == null) {
+ if (perConnectionBufferLimitBytes_ != null) {
+ perConnectionBufferLimitBytes_ =
+ com.google.protobuf.UInt32Value.newBuilder(perConnectionBufferLimitBytes_).mergeFrom(value).buildPartial();
+ } else {
+ perConnectionBufferLimitBytes_ = value;
+ }
+ onChanged();
+ } else {
+ perConnectionBufferLimitBytesBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public Builder clearPerConnectionBufferLimitBytes() {
+ if (perConnectionBufferLimitBytesBuilder_ == null) {
+ perConnectionBufferLimitBytes_ = null;
+ onChanged();
+ } else {
+ perConnectionBufferLimitBytes_ = null;
+ perConnectionBufferLimitBytesBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getPerConnectionBufferLimitBytesBuilder() {
+
+ onChanged();
+ return getPerConnectionBufferLimitBytesFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getPerConnectionBufferLimitBytesOrBuilder() {
+ if (perConnectionBufferLimitBytesBuilder_ != null) {
+ return perConnectionBufferLimitBytesBuilder_.getMessageOrBuilder();
+ } else {
+ return perConnectionBufferLimitBytes_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : perConnectionBufferLimitBytes_;
+ }
+ }
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getPerConnectionBufferLimitBytesFieldBuilder() {
+ if (perConnectionBufferLimitBytesBuilder_ == null) {
+ perConnectionBufferLimitBytesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getPerConnectionBufferLimitBytes(),
+ getParentForChildren(),
+ isClean());
+ perConnectionBufferLimitBytes_ = null;
+ }
+ return perConnectionBufferLimitBytesBuilder_;
+ }
+
+ private int lbPolicy_ = 0;
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ public int getLbPolicyValue() {
+ return lbPolicy_;
+ }
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setLbPolicyValue(int value) {
+ lbPolicy_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy getLbPolicy() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy result = io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy.valueOf(lbPolicy_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setLbPolicy(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ lbPolicy_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearLbPolicy() {
+
+ lbPolicy_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address> hosts_ =
+ java.util.Collections.emptyList();
+ private void ensureHostsIsMutable() {
+ if (!((bitField0_ & 0x00000080) == 0x00000080)) {
+ hosts_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.Address>(hosts_);
+ bitField0_ |= 0x00000080;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder> hostsBuilder_;
+
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address> getHostsList() {
+ if (hostsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(hosts_);
+ } else {
+ return hostsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public int getHostsCount() {
+ if (hostsBuilder_ == null) {
+ return hosts_.size();
+ } else {
+ return hostsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.core.Address getHosts(int index) {
+ if (hostsBuilder_ == null) {
+ return hosts_.get(index);
+ } else {
+ return hostsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder setHosts(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (hostsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureHostsIsMutable();
+ hosts_.set(index, value);
+ onChanged();
+ } else {
+ hostsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder setHosts(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (hostsBuilder_ == null) {
+ ensureHostsIsMutable();
+ hosts_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ hostsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder addHosts(io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (hostsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureHostsIsMutable();
+ hosts_.add(value);
+ onChanged();
+ } else {
+ hostsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder addHosts(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (hostsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureHostsIsMutable();
+ hosts_.add(index, value);
+ onChanged();
+ } else {
+ hostsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder addHosts(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (hostsBuilder_ == null) {
+ ensureHostsIsMutable();
+ hosts_.add(builderForValue.build());
+ onChanged();
+ } else {
+ hostsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder addHosts(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (hostsBuilder_ == null) {
+ ensureHostsIsMutable();
+ hosts_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ hostsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder addAllHosts(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.Address> values) {
+ if (hostsBuilder_ == null) {
+ ensureHostsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, hosts_);
+ onChanged();
+ } else {
+ hostsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder clearHosts() {
+ if (hostsBuilder_ == null) {
+ hosts_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000080);
+ onChanged();
+ } else {
+ hostsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public Builder removeHosts(int index) {
+ if (hostsBuilder_ == null) {
+ ensureHostsIsMutable();
+ hosts_.remove(index);
+ onChanged();
+ } else {
+ hostsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder getHostsBuilder(
+ int index) {
+ return getHostsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getHostsOrBuilder(
+ int index) {
+ if (hostsBuilder_ == null) {
+ return hosts_.get(index); } else {
+ return hostsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getHostsOrBuilderList() {
+ if (hostsBuilder_ != null) {
+ return hostsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(hosts_);
+ }
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder addHostsBuilder() {
+ return getHostsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder addHostsBuilder(
+ int index) {
+ return getHostsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder>
+ getHostsBuilderList() {
+ return getHostsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getHostsFieldBuilder() {
+ if (hostsBuilder_ == null) {
+ hostsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>(
+ hosts_,
+ ((bitField0_ & 0x00000080) == 0x00000080),
+ getParentForChildren(),
+ isClean());
+ hosts_ = null;
+ }
+ return hostsBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment loadAssignment_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignmentOrBuilder> loadAssignmentBuilder_;
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public boolean hasLoadAssignment() {
+ return loadAssignmentBuilder_ != null || loadAssignment_ != null;
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment getLoadAssignment() {
+ if (loadAssignmentBuilder_ == null) {
+ return loadAssignment_ == null ? io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.getDefaultInstance() : loadAssignment_;
+ } else {
+ return loadAssignmentBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public Builder setLoadAssignment(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment value) {
+ if (loadAssignmentBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ loadAssignment_ = value;
+ onChanged();
+ } else {
+ loadAssignmentBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public Builder setLoadAssignment(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Builder builderForValue) {
+ if (loadAssignmentBuilder_ == null) {
+ loadAssignment_ = builderForValue.build();
+ onChanged();
+ } else {
+ loadAssignmentBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public Builder mergeLoadAssignment(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment value) {
+ if (loadAssignmentBuilder_ == null) {
+ if (loadAssignment_ != null) {
+ loadAssignment_ =
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.newBuilder(loadAssignment_).mergeFrom(value).buildPartial();
+ } else {
+ loadAssignment_ = value;
+ }
+ onChanged();
+ } else {
+ loadAssignmentBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public Builder clearLoadAssignment() {
+ if (loadAssignmentBuilder_ == null) {
+ loadAssignment_ = null;
+ onChanged();
+ } else {
+ loadAssignment_ = null;
+ loadAssignmentBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Builder getLoadAssignmentBuilder() {
+
+ onChanged();
+ return getLoadAssignmentFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder() {
+ if (loadAssignmentBuilder_ != null) {
+ return loadAssignmentBuilder_.getMessageOrBuilder();
+ } else {
+ return loadAssignment_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.getDefaultInstance() : loadAssignment_;
+ }
+ }
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignmentOrBuilder>
+ getLoadAssignmentFieldBuilder() {
+ if (loadAssignmentBuilder_ == null) {
+ loadAssignmentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignmentOrBuilder>(
+ getLoadAssignment(),
+ getParentForChildren(),
+ isClean());
+ loadAssignment_ = null;
+ }
+ return loadAssignmentBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck> healthChecks_ =
+ java.util.Collections.emptyList();
+ private void ensureHealthChecksIsMutable() {
+ if (!((bitField0_ & 0x00000200) == 0x00000200)) {
+ healthChecks_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck>(healthChecks_);
+ bitField0_ |= 0x00000200;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder> healthChecksBuilder_;
+
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck> getHealthChecksList() {
+ if (healthChecksBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(healthChecks_);
+ } else {
+ return healthChecksBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public int getHealthChecksCount() {
+ if (healthChecksBuilder_ == null) {
+ return healthChecks_.size();
+ } else {
+ return healthChecksBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck getHealthChecks(int index) {
+ if (healthChecksBuilder_ == null) {
+ return healthChecks_.get(index);
+ } else {
+ return healthChecksBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder setHealthChecks(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck value) {
+ if (healthChecksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureHealthChecksIsMutable();
+ healthChecks_.set(index, value);
+ onChanged();
+ } else {
+ healthChecksBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder setHealthChecks(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder builderForValue) {
+ if (healthChecksBuilder_ == null) {
+ ensureHealthChecksIsMutable();
+ healthChecks_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ healthChecksBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder addHealthChecks(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck value) {
+ if (healthChecksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureHealthChecksIsMutable();
+ healthChecks_.add(value);
+ onChanged();
+ } else {
+ healthChecksBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder addHealthChecks(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck value) {
+ if (healthChecksBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureHealthChecksIsMutable();
+ healthChecks_.add(index, value);
+ onChanged();
+ } else {
+ healthChecksBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder addHealthChecks(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder builderForValue) {
+ if (healthChecksBuilder_ == null) {
+ ensureHealthChecksIsMutable();
+ healthChecks_.add(builderForValue.build());
+ onChanged();
+ } else {
+ healthChecksBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder addHealthChecks(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder builderForValue) {
+ if (healthChecksBuilder_ == null) {
+ ensureHealthChecksIsMutable();
+ healthChecks_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ healthChecksBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder addAllHealthChecks(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck> values) {
+ if (healthChecksBuilder_ == null) {
+ ensureHealthChecksIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, healthChecks_);
+ onChanged();
+ } else {
+ healthChecksBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder clearHealthChecks() {
+ if (healthChecksBuilder_ == null) {
+ healthChecks_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000200);
+ onChanged();
+ } else {
+ healthChecksBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public Builder removeHealthChecks(int index) {
+ if (healthChecksBuilder_ == null) {
+ ensureHealthChecksIsMutable();
+ healthChecks_.remove(index);
+ onChanged();
+ } else {
+ healthChecksBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder getHealthChecksBuilder(
+ int index) {
+ return getHealthChecksFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder getHealthChecksOrBuilder(
+ int index) {
+ if (healthChecksBuilder_ == null) {
+ return healthChecks_.get(index); } else {
+ return healthChecksBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder>
+ getHealthChecksOrBuilderList() {
+ if (healthChecksBuilder_ != null) {
+ return healthChecksBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(healthChecks_);
+ }
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder addHealthChecksBuilder() {
+ return getHealthChecksFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder addHealthChecksBuilder(
+ int index) {
+ return getHealthChecksFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder>
+ getHealthChecksBuilderList() {
+ return getHealthChecksFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder>
+ getHealthChecksFieldBuilder() {
+ if (healthChecksBuilder_ == null) {
+ healthChecksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder>(
+ healthChecks_,
+ ((bitField0_ & 0x00000200) == 0x00000200),
+ getParentForChildren(),
+ isClean());
+ healthChecks_ = null;
+ }
+ return healthChecksBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value maxRequestsPerConnection_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxRequestsPerConnectionBuilder_;
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public boolean hasMaxRequestsPerConnection() {
+ return maxRequestsPerConnectionBuilder_ != null || maxRequestsPerConnection_ != null;
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxRequestsPerConnection() {
+ if (maxRequestsPerConnectionBuilder_ == null) {
+ return maxRequestsPerConnection_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxRequestsPerConnection_;
+ } else {
+ return maxRequestsPerConnectionBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public Builder setMaxRequestsPerConnection(com.google.protobuf.UInt32Value value) {
+ if (maxRequestsPerConnectionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxRequestsPerConnection_ = value;
+ onChanged();
+ } else {
+ maxRequestsPerConnectionBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public Builder setMaxRequestsPerConnection(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxRequestsPerConnectionBuilder_ == null) {
+ maxRequestsPerConnection_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxRequestsPerConnectionBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public Builder mergeMaxRequestsPerConnection(com.google.protobuf.UInt32Value value) {
+ if (maxRequestsPerConnectionBuilder_ == null) {
+ if (maxRequestsPerConnection_ != null) {
+ maxRequestsPerConnection_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxRequestsPerConnection_).mergeFrom(value).buildPartial();
+ } else {
+ maxRequestsPerConnection_ = value;
+ }
+ onChanged();
+ } else {
+ maxRequestsPerConnectionBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public Builder clearMaxRequestsPerConnection() {
+ if (maxRequestsPerConnectionBuilder_ == null) {
+ maxRequestsPerConnection_ = null;
+ onChanged();
+ } else {
+ maxRequestsPerConnection_ = null;
+ maxRequestsPerConnectionBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxRequestsPerConnectionBuilder() {
+
+ onChanged();
+ return getMaxRequestsPerConnectionFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder() {
+ if (maxRequestsPerConnectionBuilder_ != null) {
+ return maxRequestsPerConnectionBuilder_.getMessageOrBuilder();
+ } else {
+ return maxRequestsPerConnection_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxRequestsPerConnection_;
+ }
+ }
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxRequestsPerConnectionFieldBuilder() {
+ if (maxRequestsPerConnectionBuilder_ == null) {
+ maxRequestsPerConnectionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxRequestsPerConnection(),
+ getParentForChildren(),
+ isClean());
+ maxRequestsPerConnection_ = null;
+ }
+ return maxRequestsPerConnectionBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers circuitBreakers_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakersOrBuilder> circuitBreakersBuilder_;
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public boolean hasCircuitBreakers() {
+ return circuitBreakersBuilder_ != null || circuitBreakers_ != null;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers getCircuitBreakers() {
+ if (circuitBreakersBuilder_ == null) {
+ return circuitBreakers_ == null ? io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.getDefaultInstance() : circuitBreakers_;
+ } else {
+ return circuitBreakersBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public Builder setCircuitBreakers(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers value) {
+ if (circuitBreakersBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ circuitBreakers_ = value;
+ onChanged();
+ } else {
+ circuitBreakersBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public Builder setCircuitBreakers(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Builder builderForValue) {
+ if (circuitBreakersBuilder_ == null) {
+ circuitBreakers_ = builderForValue.build();
+ onChanged();
+ } else {
+ circuitBreakersBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public Builder mergeCircuitBreakers(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers value) {
+ if (circuitBreakersBuilder_ == null) {
+ if (circuitBreakers_ != null) {
+ circuitBreakers_ =
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.newBuilder(circuitBreakers_).mergeFrom(value).buildPartial();
+ } else {
+ circuitBreakers_ = value;
+ }
+ onChanged();
+ } else {
+ circuitBreakersBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public Builder clearCircuitBreakers() {
+ if (circuitBreakersBuilder_ == null) {
+ circuitBreakers_ = null;
+ onChanged();
+ } else {
+ circuitBreakers_ = null;
+ circuitBreakersBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Builder getCircuitBreakersBuilder() {
+
+ onChanged();
+ return getCircuitBreakersFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakersOrBuilder getCircuitBreakersOrBuilder() {
+ if (circuitBreakersBuilder_ != null) {
+ return circuitBreakersBuilder_.getMessageOrBuilder();
+ } else {
+ return circuitBreakers_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.getDefaultInstance() : circuitBreakers_;
+ }
+ }
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakersOrBuilder>
+ getCircuitBreakersFieldBuilder() {
+ if (circuitBreakersBuilder_ == null) {
+ circuitBreakersBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakersOrBuilder>(
+ getCircuitBreakers(),
+ getParentForChildren(),
+ isClean());
+ circuitBreakers_ = null;
+ }
+ return circuitBreakersBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext tlsContext_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContextOrBuilder> tlsContextBuilder_;
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public boolean hasTlsContext() {
+ return tlsContextBuilder_ != null || tlsContext_ != null;
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext getTlsContext() {
+ if (tlsContextBuilder_ == null) {
+ return tlsContext_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.getDefaultInstance() : tlsContext_;
+ } else {
+ return tlsContextBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public Builder setTlsContext(io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext value) {
+ if (tlsContextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ tlsContext_ = value;
+ onChanged();
+ } else {
+ tlsContextBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public Builder setTlsContext(
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.Builder builderForValue) {
+ if (tlsContextBuilder_ == null) {
+ tlsContext_ = builderForValue.build();
+ onChanged();
+ } else {
+ tlsContextBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public Builder mergeTlsContext(io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext value) {
+ if (tlsContextBuilder_ == null) {
+ if (tlsContext_ != null) {
+ tlsContext_ =
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.newBuilder(tlsContext_).mergeFrom(value).buildPartial();
+ } else {
+ tlsContext_ = value;
+ }
+ onChanged();
+ } else {
+ tlsContextBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public Builder clearTlsContext() {
+ if (tlsContextBuilder_ == null) {
+ tlsContext_ = null;
+ onChanged();
+ } else {
+ tlsContext_ = null;
+ tlsContextBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.Builder getTlsContextBuilder() {
+
+ onChanged();
+ return getTlsContextFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContextOrBuilder getTlsContextOrBuilder() {
+ if (tlsContextBuilder_ != null) {
+ return tlsContextBuilder_.getMessageOrBuilder();
+ } else {
+ return tlsContext_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.getDefaultInstance() : tlsContext_;
+ }
+ }
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContextOrBuilder>
+ getTlsContextFieldBuilder() {
+ if (tlsContextBuilder_ == null) {
+ tlsContextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContextOrBuilder>(
+ getTlsContext(),
+ getParentForChildren(),
+ isClean());
+ tlsContext_ = null;
+ }
+ return tlsContextBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions commonHttpProtocolOptions_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptionsOrBuilder> commonHttpProtocolOptionsBuilder_;
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public boolean hasCommonHttpProtocolOptions() {
+ return commonHttpProtocolOptionsBuilder_ != null || commonHttpProtocolOptions_ != null;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions getCommonHttpProtocolOptions() {
+ if (commonHttpProtocolOptionsBuilder_ == null) {
+ return commonHttpProtocolOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.getDefaultInstance() : commonHttpProtocolOptions_;
+ } else {
+ return commonHttpProtocolOptionsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public Builder setCommonHttpProtocolOptions(io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions value) {
+ if (commonHttpProtocolOptionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ commonHttpProtocolOptions_ = value;
+ onChanged();
+ } else {
+ commonHttpProtocolOptionsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public Builder setCommonHttpProtocolOptions(
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.Builder builderForValue) {
+ if (commonHttpProtocolOptionsBuilder_ == null) {
+ commonHttpProtocolOptions_ = builderForValue.build();
+ onChanged();
+ } else {
+ commonHttpProtocolOptionsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public Builder mergeCommonHttpProtocolOptions(io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions value) {
+ if (commonHttpProtocolOptionsBuilder_ == null) {
+ if (commonHttpProtocolOptions_ != null) {
+ commonHttpProtocolOptions_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.newBuilder(commonHttpProtocolOptions_).mergeFrom(value).buildPartial();
+ } else {
+ commonHttpProtocolOptions_ = value;
+ }
+ onChanged();
+ } else {
+ commonHttpProtocolOptionsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public Builder clearCommonHttpProtocolOptions() {
+ if (commonHttpProtocolOptionsBuilder_ == null) {
+ commonHttpProtocolOptions_ = null;
+ onChanged();
+ } else {
+ commonHttpProtocolOptions_ = null;
+ commonHttpProtocolOptionsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.Builder getCommonHttpProtocolOptionsBuilder() {
+
+ onChanged();
+ return getCommonHttpProtocolOptionsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder() {
+ if (commonHttpProtocolOptionsBuilder_ != null) {
+ return commonHttpProtocolOptionsBuilder_.getMessageOrBuilder();
+ } else {
+ return commonHttpProtocolOptions_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.getDefaultInstance() : commonHttpProtocolOptions_;
+ }
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptionsOrBuilder>
+ getCommonHttpProtocolOptionsFieldBuilder() {
+ if (commonHttpProtocolOptionsBuilder_ == null) {
+ commonHttpProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptionsOrBuilder>(
+ getCommonHttpProtocolOptions(),
+ getParentForChildren(),
+ isClean());
+ commonHttpProtocolOptions_ = null;
+ }
+ return commonHttpProtocolOptionsBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions httpProtocolOptions_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptionsOrBuilder> httpProtocolOptionsBuilder_;
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public boolean hasHttpProtocolOptions() {
+ return httpProtocolOptionsBuilder_ != null || httpProtocolOptions_ != null;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions getHttpProtocolOptions() {
+ if (httpProtocolOptionsBuilder_ == null) {
+ return httpProtocolOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_;
+ } else {
+ return httpProtocolOptionsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public Builder setHttpProtocolOptions(io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions value) {
+ if (httpProtocolOptionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ httpProtocolOptions_ = value;
+ onChanged();
+ } else {
+ httpProtocolOptionsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public Builder setHttpProtocolOptions(
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.Builder builderForValue) {
+ if (httpProtocolOptionsBuilder_ == null) {
+ httpProtocolOptions_ = builderForValue.build();
+ onChanged();
+ } else {
+ httpProtocolOptionsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public Builder mergeHttpProtocolOptions(io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions value) {
+ if (httpProtocolOptionsBuilder_ == null) {
+ if (httpProtocolOptions_ != null) {
+ httpProtocolOptions_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.newBuilder(httpProtocolOptions_).mergeFrom(value).buildPartial();
+ } else {
+ httpProtocolOptions_ = value;
+ }
+ onChanged();
+ } else {
+ httpProtocolOptionsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public Builder clearHttpProtocolOptions() {
+ if (httpProtocolOptionsBuilder_ == null) {
+ httpProtocolOptions_ = null;
+ onChanged();
+ } else {
+ httpProtocolOptions_ = null;
+ httpProtocolOptionsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.Builder getHttpProtocolOptionsBuilder() {
+
+ onChanged();
+ return getHttpProtocolOptionsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder() {
+ if (httpProtocolOptionsBuilder_ != null) {
+ return httpProtocolOptionsBuilder_.getMessageOrBuilder();
+ } else {
+ return httpProtocolOptions_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.getDefaultInstance() : httpProtocolOptions_;
+ }
+ }
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptionsOrBuilder>
+ getHttpProtocolOptionsFieldBuilder() {
+ if (httpProtocolOptionsBuilder_ == null) {
+ httpProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptionsOrBuilder>(
+ getHttpProtocolOptions(),
+ getParentForChildren(),
+ isClean());
+ httpProtocolOptions_ = null;
+ }
+ return httpProtocolOptionsBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions http2ProtocolOptions_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder> http2ProtocolOptionsBuilder_;
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public boolean hasHttp2ProtocolOptions() {
+ return http2ProtocolOptionsBuilder_ != null || http2ProtocolOptions_ != null;
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getHttp2ProtocolOptions() {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ return http2ProtocolOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_;
+ } else {
+ return http2ProtocolOptionsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public Builder setHttp2ProtocolOptions(io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions value) {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ http2ProtocolOptions_ = value;
+ onChanged();
+ } else {
+ http2ProtocolOptionsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public Builder setHttp2ProtocolOptions(
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder builderForValue) {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ http2ProtocolOptions_ = builderForValue.build();
+ onChanged();
+ } else {
+ http2ProtocolOptionsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public Builder mergeHttp2ProtocolOptions(io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions value) {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ if (http2ProtocolOptions_ != null) {
+ http2ProtocolOptions_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.newBuilder(http2ProtocolOptions_).mergeFrom(value).buildPartial();
+ } else {
+ http2ProtocolOptions_ = value;
+ }
+ onChanged();
+ } else {
+ http2ProtocolOptionsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public Builder clearHttp2ProtocolOptions() {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ http2ProtocolOptions_ = null;
+ onChanged();
+ } else {
+ http2ProtocolOptions_ = null;
+ http2ProtocolOptionsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder getHttp2ProtocolOptionsBuilder() {
+
+ onChanged();
+ return getHttp2ProtocolOptionsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() {
+ if (http2ProtocolOptionsBuilder_ != null) {
+ return http2ProtocolOptionsBuilder_.getMessageOrBuilder();
+ } else {
+ return http2ProtocolOptions_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_;
+ }
+ }
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder>
+ getHttp2ProtocolOptionsFieldBuilder() {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ http2ProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder>(
+ getHttp2ProtocolOptions(),
+ getParentForChildren(),
+ isClean());
+ http2ProtocolOptions_ = null;
+ }
+ return http2ProtocolOptionsBuilder_;
+ }
+
+ private com.google.protobuf.MapField<
+ java.lang.String, com.google.protobuf.Struct> extensionProtocolOptions_;
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Struct>
+ internalGetExtensionProtocolOptions() {
+ if (extensionProtocolOptions_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ ExtensionProtocolOptionsDefaultEntryHolder.defaultEntry);
+ }
+ return extensionProtocolOptions_;
+ }
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Struct>
+ internalGetMutableExtensionProtocolOptions() {
+ onChanged();;
+ if (extensionProtocolOptions_ == null) {
+ extensionProtocolOptions_ = com.google.protobuf.MapField.newMapField(
+ ExtensionProtocolOptionsDefaultEntryHolder.defaultEntry);
+ }
+ if (!extensionProtocolOptions_.isMutable()) {
+ extensionProtocolOptions_ = extensionProtocolOptions_.copy();
+ }
+ return extensionProtocolOptions_;
+ }
+
+ public int getExtensionProtocolOptionsCount() {
+ return internalGetExtensionProtocolOptions().getMap().size();
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public boolean containsExtensionProtocolOptions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetExtensionProtocolOptions().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getExtensionProtocolOptionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct> getExtensionProtocolOptions() {
+ return getExtensionProtocolOptionsMap();
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct> getExtensionProtocolOptionsMap() {
+ return internalGetExtensionProtocolOptions().getMap();
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public com.google.protobuf.Struct getExtensionProtocolOptionsOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Struct defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> map =
+ internalGetExtensionProtocolOptions().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public com.google.protobuf.Struct getExtensionProtocolOptionsOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> map =
+ internalGetExtensionProtocolOptions().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ public Builder clearExtensionProtocolOptions() {
+ internalGetMutableExtensionProtocolOptions().getMutableMap()
+ .clear();
+ return this;
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public Builder removeExtensionProtocolOptions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableExtensionProtocolOptions().getMutableMap()
+ .remove(key);
+ return this;
+ }
+ /**
+ * Use alternate mutation accessors instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct>
+ getMutableExtensionProtocolOptions() {
+ return internalGetMutableExtensionProtocolOptions().getMutableMap();
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+ public Builder putExtensionProtocolOptions(
+ java.lang.String key,
+ com.google.protobuf.Struct value) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ if (value == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableExtensionProtocolOptions().getMutableMap()
+ .put(key, value);
+ return this;
+ }
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ public Builder putAllExtensionProtocolOptions(
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> values) {
+ internalGetMutableExtensionProtocolOptions().getMutableMap()
+ .putAll(values);
+ return this;
+ }
+
+ private com.google.protobuf.MapField<
+ java.lang.String, com.google.protobuf.Any> typedExtensionProtocolOptions_;
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Any>
+ internalGetTypedExtensionProtocolOptions() {
+ if (typedExtensionProtocolOptions_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ TypedExtensionProtocolOptionsDefaultEntryHolder.defaultEntry);
+ }
+ return typedExtensionProtocolOptions_;
+ }
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Any>
+ internalGetMutableTypedExtensionProtocolOptions() {
+ onChanged();;
+ if (typedExtensionProtocolOptions_ == null) {
+ typedExtensionProtocolOptions_ = com.google.protobuf.MapField.newMapField(
+ TypedExtensionProtocolOptionsDefaultEntryHolder.defaultEntry);
+ }
+ if (!typedExtensionProtocolOptions_.isMutable()) {
+ typedExtensionProtocolOptions_ = typedExtensionProtocolOptions_.copy();
+ }
+ return typedExtensionProtocolOptions_;
+ }
+
+ public int getTypedExtensionProtocolOptionsCount() {
+ return internalGetTypedExtensionProtocolOptions().getMap().size();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public boolean containsTypedExtensionProtocolOptions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetTypedExtensionProtocolOptions().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getTypedExtensionProtocolOptionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Any> getTypedExtensionProtocolOptions() {
+ return getTypedExtensionProtocolOptionsMap();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public java.util.Map<java.lang.String, com.google.protobuf.Any> getTypedExtensionProtocolOptionsMap() {
+ return internalGetTypedExtensionProtocolOptions().getMap();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public com.google.protobuf.Any getTypedExtensionProtocolOptionsOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Any defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Any> map =
+ internalGetTypedExtensionProtocolOptions().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Any> map =
+ internalGetTypedExtensionProtocolOptions().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ public Builder clearTypedExtensionProtocolOptions() {
+ internalGetMutableTypedExtensionProtocolOptions().getMutableMap()
+ .clear();
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public Builder removeTypedExtensionProtocolOptions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableTypedExtensionProtocolOptions().getMutableMap()
+ .remove(key);
+ return this;
+ }
+ /**
+ * Use alternate mutation accessors instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Any>
+ getMutableTypedExtensionProtocolOptions() {
+ return internalGetMutableTypedExtensionProtocolOptions().getMutableMap();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+ public Builder putTypedExtensionProtocolOptions(
+ java.lang.String key,
+ com.google.protobuf.Any value) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ if (value == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableTypedExtensionProtocolOptions().getMutableMap()
+ .put(key, value);
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ public Builder putAllTypedExtensionProtocolOptions(
+ java.util.Map<java.lang.String, com.google.protobuf.Any> values) {
+ internalGetMutableTypedExtensionProtocolOptions().getMutableMap()
+ .putAll(values);
+ return this;
+ }
+
+ private com.google.protobuf.Duration dnsRefreshRate_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> dnsRefreshRateBuilder_;
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasDnsRefreshRate() {
+ return dnsRefreshRateBuilder_ != null || dnsRefreshRate_ != null;
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getDnsRefreshRate() {
+ if (dnsRefreshRateBuilder_ == null) {
+ return dnsRefreshRate_ == null ? com.google.protobuf.Duration.getDefaultInstance() : dnsRefreshRate_;
+ } else {
+ return dnsRefreshRateBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDnsRefreshRate(com.google.protobuf.Duration value) {
+ if (dnsRefreshRateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ dnsRefreshRate_ = value;
+ onChanged();
+ } else {
+ dnsRefreshRateBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDnsRefreshRate(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (dnsRefreshRateBuilder_ == null) {
+ dnsRefreshRate_ = builderForValue.build();
+ onChanged();
+ } else {
+ dnsRefreshRateBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeDnsRefreshRate(com.google.protobuf.Duration value) {
+ if (dnsRefreshRateBuilder_ == null) {
+ if (dnsRefreshRate_ != null) {
+ dnsRefreshRate_ =
+ com.google.protobuf.Duration.newBuilder(dnsRefreshRate_).mergeFrom(value).buildPartial();
+ } else {
+ dnsRefreshRate_ = value;
+ }
+ onChanged();
+ } else {
+ dnsRefreshRateBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearDnsRefreshRate() {
+ if (dnsRefreshRateBuilder_ == null) {
+ dnsRefreshRate_ = null;
+ onChanged();
+ } else {
+ dnsRefreshRate_ = null;
+ dnsRefreshRateBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getDnsRefreshRateBuilder() {
+
+ onChanged();
+ return getDnsRefreshRateFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder() {
+ if (dnsRefreshRateBuilder_ != null) {
+ return dnsRefreshRateBuilder_.getMessageOrBuilder();
+ } else {
+ return dnsRefreshRate_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : dnsRefreshRate_;
+ }
+ }
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getDnsRefreshRateFieldBuilder() {
+ if (dnsRefreshRateBuilder_ == null) {
+ dnsRefreshRateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getDnsRefreshRate(),
+ getParentForChildren(),
+ isClean());
+ dnsRefreshRate_ = null;
+ }
+ return dnsRefreshRateBuilder_;
+ }
+
+ private int dnsLookupFamily_ = 0;
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ public int getDnsLookupFamilyValue() {
+ return dnsLookupFamily_;
+ }
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDnsLookupFamilyValue(int value) {
+ dnsLookupFamily_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily getDnsLookupFamily() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily result = io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily.valueOf(dnsLookupFamily_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDnsLookupFamily(io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ dnsLookupFamily_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearDnsLookupFamily() {
+
+ dnsLookupFamily_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address> dnsResolvers_ =
+ java.util.Collections.emptyList();
+ private void ensureDnsResolversIsMutable() {
+ if (!((bitField0_ & 0x00100000) == 0x00100000)) {
+ dnsResolvers_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.Address>(dnsResolvers_);
+ bitField0_ |= 0x00100000;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder> dnsResolversBuilder_;
+
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address> getDnsResolversList() {
+ if (dnsResolversBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(dnsResolvers_);
+ } else {
+ return dnsResolversBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public int getDnsResolversCount() {
+ if (dnsResolversBuilder_ == null) {
+ return dnsResolvers_.size();
+ } else {
+ return dnsResolversBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getDnsResolvers(int index) {
+ if (dnsResolversBuilder_ == null) {
+ return dnsResolvers_.get(index);
+ } else {
+ return dnsResolversBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder setDnsResolvers(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (dnsResolversBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDnsResolversIsMutable();
+ dnsResolvers_.set(index, value);
+ onChanged();
+ } else {
+ dnsResolversBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder setDnsResolvers(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (dnsResolversBuilder_ == null) {
+ ensureDnsResolversIsMutable();
+ dnsResolvers_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ dnsResolversBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder addDnsResolvers(io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (dnsResolversBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDnsResolversIsMutable();
+ dnsResolvers_.add(value);
+ onChanged();
+ } else {
+ dnsResolversBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder addDnsResolvers(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (dnsResolversBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDnsResolversIsMutable();
+ dnsResolvers_.add(index, value);
+ onChanged();
+ } else {
+ dnsResolversBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder addDnsResolvers(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (dnsResolversBuilder_ == null) {
+ ensureDnsResolversIsMutable();
+ dnsResolvers_.add(builderForValue.build());
+ onChanged();
+ } else {
+ dnsResolversBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder addDnsResolvers(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (dnsResolversBuilder_ == null) {
+ ensureDnsResolversIsMutable();
+ dnsResolvers_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ dnsResolversBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder addAllDnsResolvers(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.Address> values) {
+ if (dnsResolversBuilder_ == null) {
+ ensureDnsResolversIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, dnsResolvers_);
+ onChanged();
+ } else {
+ dnsResolversBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder clearDnsResolvers() {
+ if (dnsResolversBuilder_ == null) {
+ dnsResolvers_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00100000);
+ onChanged();
+ } else {
+ dnsResolversBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public Builder removeDnsResolvers(int index) {
+ if (dnsResolversBuilder_ == null) {
+ ensureDnsResolversIsMutable();
+ dnsResolvers_.remove(index);
+ onChanged();
+ } else {
+ dnsResolversBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder getDnsResolversBuilder(
+ int index) {
+ return getDnsResolversFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getDnsResolversOrBuilder(
+ int index) {
+ if (dnsResolversBuilder_ == null) {
+ return dnsResolvers_.get(index); } else {
+ return dnsResolversBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getDnsResolversOrBuilderList() {
+ if (dnsResolversBuilder_ != null) {
+ return dnsResolversBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(dnsResolvers_);
+ }
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder addDnsResolversBuilder() {
+ return getDnsResolversFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder addDnsResolversBuilder(
+ int index) {
+ return getDnsResolversFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder>
+ getDnsResolversBuilderList() {
+ return getDnsResolversFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getDnsResolversFieldBuilder() {
+ if (dnsResolversBuilder_ == null) {
+ dnsResolversBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>(
+ dnsResolvers_,
+ ((bitField0_ & 0x00100000) == 0x00100000),
+ getParentForChildren(),
+ isClean());
+ dnsResolvers_ = null;
+ }
+ return dnsResolversBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection outlierDetection_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection, io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOrBuilder> outlierDetectionBuilder_;
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public boolean hasOutlierDetection() {
+ return outlierDetectionBuilder_ != null || outlierDetection_ != null;
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection getOutlierDetection() {
+ if (outlierDetectionBuilder_ == null) {
+ return outlierDetection_ == null ? io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.getDefaultInstance() : outlierDetection_;
+ } else {
+ return outlierDetectionBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public Builder setOutlierDetection(io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection value) {
+ if (outlierDetectionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ outlierDetection_ = value;
+ onChanged();
+ } else {
+ outlierDetectionBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public Builder setOutlierDetection(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.Builder builderForValue) {
+ if (outlierDetectionBuilder_ == null) {
+ outlierDetection_ = builderForValue.build();
+ onChanged();
+ } else {
+ outlierDetectionBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public Builder mergeOutlierDetection(io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection value) {
+ if (outlierDetectionBuilder_ == null) {
+ if (outlierDetection_ != null) {
+ outlierDetection_ =
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.newBuilder(outlierDetection_).mergeFrom(value).buildPartial();
+ } else {
+ outlierDetection_ = value;
+ }
+ onChanged();
+ } else {
+ outlierDetectionBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public Builder clearOutlierDetection() {
+ if (outlierDetectionBuilder_ == null) {
+ outlierDetection_ = null;
+ onChanged();
+ } else {
+ outlierDetection_ = null;
+ outlierDetectionBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.Builder getOutlierDetectionBuilder() {
+
+ onChanged();
+ return getOutlierDetectionFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOrBuilder getOutlierDetectionOrBuilder() {
+ if (outlierDetectionBuilder_ != null) {
+ return outlierDetectionBuilder_.getMessageOrBuilder();
+ } else {
+ return outlierDetection_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.getDefaultInstance() : outlierDetection_;
+ }
+ }
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection, io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOrBuilder>
+ getOutlierDetectionFieldBuilder() {
+ if (outlierDetectionBuilder_ == null) {
+ outlierDetectionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection, io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOrBuilder>(
+ getOutlierDetection(),
+ getParentForChildren(),
+ isClean());
+ outlierDetection_ = null;
+ }
+ return outlierDetectionBuilder_;
+ }
+
+ private com.google.protobuf.Duration cleanupInterval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> cleanupIntervalBuilder_;
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasCleanupInterval() {
+ return cleanupIntervalBuilder_ != null || cleanupInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getCleanupInterval() {
+ if (cleanupIntervalBuilder_ == null) {
+ return cleanupInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : cleanupInterval_;
+ } else {
+ return cleanupIntervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setCleanupInterval(com.google.protobuf.Duration value) {
+ if (cleanupIntervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ cleanupInterval_ = value;
+ onChanged();
+ } else {
+ cleanupIntervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setCleanupInterval(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (cleanupIntervalBuilder_ == null) {
+ cleanupInterval_ = builderForValue.build();
+ onChanged();
+ } else {
+ cleanupIntervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeCleanupInterval(com.google.protobuf.Duration value) {
+ if (cleanupIntervalBuilder_ == null) {
+ if (cleanupInterval_ != null) {
+ cleanupInterval_ =
+ com.google.protobuf.Duration.newBuilder(cleanupInterval_).mergeFrom(value).buildPartial();
+ } else {
+ cleanupInterval_ = value;
+ }
+ onChanged();
+ } else {
+ cleanupIntervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearCleanupInterval() {
+ if (cleanupIntervalBuilder_ == null) {
+ cleanupInterval_ = null;
+ onChanged();
+ } else {
+ cleanupInterval_ = null;
+ cleanupIntervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getCleanupIntervalBuilder() {
+
+ onChanged();
+ return getCleanupIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getCleanupIntervalOrBuilder() {
+ if (cleanupIntervalBuilder_ != null) {
+ return cleanupIntervalBuilder_.getMessageOrBuilder();
+ } else {
+ return cleanupInterval_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : cleanupInterval_;
+ }
+ }
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getCleanupIntervalFieldBuilder() {
+ if (cleanupIntervalBuilder_ == null) {
+ cleanupIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getCleanupInterval(),
+ getParentForChildren(),
+ isClean());
+ cleanupInterval_ = null;
+ }
+ return cleanupIntervalBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.BindConfig upstreamBindConfig_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig, io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.core.BindConfigOrBuilder> upstreamBindConfigBuilder_;
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public boolean hasUpstreamBindConfig() {
+ return upstreamBindConfigBuilder_ != null || upstreamBindConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfig getUpstreamBindConfig() {
+ if (upstreamBindConfigBuilder_ == null) {
+ return upstreamBindConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.getDefaultInstance() : upstreamBindConfig_;
+ } else {
+ return upstreamBindConfigBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public Builder setUpstreamBindConfig(io.grpc.xds.shaded.envoy.api.v2.core.BindConfig value) {
+ if (upstreamBindConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ upstreamBindConfig_ = value;
+ onChanged();
+ } else {
+ upstreamBindConfigBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public Builder setUpstreamBindConfig(
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.Builder builderForValue) {
+ if (upstreamBindConfigBuilder_ == null) {
+ upstreamBindConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ upstreamBindConfigBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public Builder mergeUpstreamBindConfig(io.grpc.xds.shaded.envoy.api.v2.core.BindConfig value) {
+ if (upstreamBindConfigBuilder_ == null) {
+ if (upstreamBindConfig_ != null) {
+ upstreamBindConfig_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.newBuilder(upstreamBindConfig_).mergeFrom(value).buildPartial();
+ } else {
+ upstreamBindConfig_ = value;
+ }
+ onChanged();
+ } else {
+ upstreamBindConfigBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public Builder clearUpstreamBindConfig() {
+ if (upstreamBindConfigBuilder_ == null) {
+ upstreamBindConfig_ = null;
+ onChanged();
+ } else {
+ upstreamBindConfig_ = null;
+ upstreamBindConfigBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.Builder getUpstreamBindConfigBuilder() {
+
+ onChanged();
+ return getUpstreamBindConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfigOrBuilder getUpstreamBindConfigOrBuilder() {
+ if (upstreamBindConfigBuilder_ != null) {
+ return upstreamBindConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return upstreamBindConfig_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.getDefaultInstance() : upstreamBindConfig_;
+ }
+ }
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig, io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.core.BindConfigOrBuilder>
+ getUpstreamBindConfigFieldBuilder() {
+ if (upstreamBindConfigBuilder_ == null) {
+ upstreamBindConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig, io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.core.BindConfigOrBuilder>(
+ getUpstreamBindConfig(),
+ getParentForChildren(),
+ isClean());
+ upstreamBindConfig_ = null;
+ }
+ return upstreamBindConfigBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig lbSubsetConfig_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfigOrBuilder> lbSubsetConfigBuilder_;
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public boolean hasLbSubsetConfig() {
+ return lbSubsetConfigBuilder_ != null || lbSubsetConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig getLbSubsetConfig() {
+ if (lbSubsetConfigBuilder_ == null) {
+ return lbSubsetConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.getDefaultInstance() : lbSubsetConfig_;
+ } else {
+ return lbSubsetConfigBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public Builder setLbSubsetConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig value) {
+ if (lbSubsetConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ lbSubsetConfig_ = value;
+ onChanged();
+ } else {
+ lbSubsetConfigBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public Builder setLbSubsetConfig(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.Builder builderForValue) {
+ if (lbSubsetConfigBuilder_ == null) {
+ lbSubsetConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ lbSubsetConfigBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public Builder mergeLbSubsetConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig value) {
+ if (lbSubsetConfigBuilder_ == null) {
+ if (lbSubsetConfig_ != null) {
+ lbSubsetConfig_ =
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.newBuilder(lbSubsetConfig_).mergeFrom(value).buildPartial();
+ } else {
+ lbSubsetConfig_ = value;
+ }
+ onChanged();
+ } else {
+ lbSubsetConfigBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public Builder clearLbSubsetConfig() {
+ if (lbSubsetConfigBuilder_ == null) {
+ lbSubsetConfig_ = null;
+ onChanged();
+ } else {
+ lbSubsetConfig_ = null;
+ lbSubsetConfigBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.Builder getLbSubsetConfigBuilder() {
+
+ onChanged();
+ return getLbSubsetConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder() {
+ if (lbSubsetConfigBuilder_ != null) {
+ return lbSubsetConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return lbSubsetConfig_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.getDefaultInstance() : lbSubsetConfig_;
+ }
+ }
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfigOrBuilder>
+ getLbSubsetConfigFieldBuilder() {
+ if (lbSubsetConfigBuilder_ == null) {
+ lbSubsetConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfigOrBuilder>(
+ getLbSubsetConfig(),
+ getParentForChildren(),
+ isClean());
+ lbSubsetConfig_ = null;
+ }
+ return lbSubsetConfigBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfigOrBuilder> ringHashLbConfigBuilder_;
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public boolean hasRingHashLbConfig() {
+ return lbConfigCase_ == 23;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig getRingHashLbConfig() {
+ if (ringHashLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 23) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance();
+ } else {
+ if (lbConfigCase_ == 23) {
+ return ringHashLbConfigBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public Builder setRingHashLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig value) {
+ if (ringHashLbConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ lbConfig_ = value;
+ onChanged();
+ } else {
+ ringHashLbConfigBuilder_.setMessage(value);
+ }
+ lbConfigCase_ = 23;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public Builder setRingHashLbConfig(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.Builder builderForValue) {
+ if (ringHashLbConfigBuilder_ == null) {
+ lbConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ ringHashLbConfigBuilder_.setMessage(builderForValue.build());
+ }
+ lbConfigCase_ = 23;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public Builder mergeRingHashLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig value) {
+ if (ringHashLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 23 &&
+ lbConfig_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance()) {
+ lbConfig_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.newBuilder((io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ lbConfig_ = value;
+ }
+ onChanged();
+ } else {
+ if (lbConfigCase_ == 23) {
+ ringHashLbConfigBuilder_.mergeFrom(value);
+ }
+ ringHashLbConfigBuilder_.setMessage(value);
+ }
+ lbConfigCase_ = 23;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public Builder clearRingHashLbConfig() {
+ if (ringHashLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 23) {
+ lbConfigCase_ = 0;
+ lbConfig_ = null;
+ onChanged();
+ }
+ } else {
+ if (lbConfigCase_ == 23) {
+ lbConfigCase_ = 0;
+ lbConfig_ = null;
+ }
+ ringHashLbConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.Builder getRingHashLbConfigBuilder() {
+ return getRingHashLbConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder() {
+ if ((lbConfigCase_ == 23) && (ringHashLbConfigBuilder_ != null)) {
+ return ringHashLbConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (lbConfigCase_ == 23) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfigOrBuilder>
+ getRingHashLbConfigFieldBuilder() {
+ if (ringHashLbConfigBuilder_ == null) {
+ if (!(lbConfigCase_ == 23)) {
+ lbConfig_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.getDefaultInstance();
+ }
+ ringHashLbConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfigOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig) lbConfig_,
+ getParentForChildren(),
+ isClean());
+ lbConfig_ = null;
+ }
+ lbConfigCase_ = 23;
+ onChanged();;
+ return ringHashLbConfigBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfigOrBuilder> originalDstLbConfigBuilder_;
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public boolean hasOriginalDstLbConfig() {
+ return lbConfigCase_ == 34;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig getOriginalDstLbConfig() {
+ if (originalDstLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 34) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance();
+ } else {
+ if (lbConfigCase_ == 34) {
+ return originalDstLbConfigBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public Builder setOriginalDstLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig value) {
+ if (originalDstLbConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ lbConfig_ = value;
+ onChanged();
+ } else {
+ originalDstLbConfigBuilder_.setMessage(value);
+ }
+ lbConfigCase_ = 34;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public Builder setOriginalDstLbConfig(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.Builder builderForValue) {
+ if (originalDstLbConfigBuilder_ == null) {
+ lbConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ originalDstLbConfigBuilder_.setMessage(builderForValue.build());
+ }
+ lbConfigCase_ = 34;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public Builder mergeOriginalDstLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig value) {
+ if (originalDstLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 34 &&
+ lbConfig_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance()) {
+ lbConfig_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.newBuilder((io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ lbConfig_ = value;
+ }
+ onChanged();
+ } else {
+ if (lbConfigCase_ == 34) {
+ originalDstLbConfigBuilder_.mergeFrom(value);
+ }
+ originalDstLbConfigBuilder_.setMessage(value);
+ }
+ lbConfigCase_ = 34;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public Builder clearOriginalDstLbConfig() {
+ if (originalDstLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 34) {
+ lbConfigCase_ = 0;
+ lbConfig_ = null;
+ onChanged();
+ }
+ } else {
+ if (lbConfigCase_ == 34) {
+ lbConfigCase_ = 0;
+ lbConfig_ = null;
+ }
+ originalDstLbConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.Builder getOriginalDstLbConfigBuilder() {
+ return getOriginalDstLbConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder() {
+ if ((lbConfigCase_ == 34) && (originalDstLbConfigBuilder_ != null)) {
+ return originalDstLbConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (lbConfigCase_ == 34) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfigOrBuilder>
+ getOriginalDstLbConfigFieldBuilder() {
+ if (originalDstLbConfigBuilder_ == null) {
+ if (!(lbConfigCase_ == 34)) {
+ lbConfig_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.getDefaultInstance();
+ }
+ originalDstLbConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfigOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig) lbConfig_,
+ getParentForChildren(),
+ isClean());
+ lbConfig_ = null;
+ }
+ lbConfigCase_ = 34;
+ onChanged();;
+ return originalDstLbConfigBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfigOrBuilder> leastRequestLbConfigBuilder_;
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public boolean hasLeastRequestLbConfig() {
+ return lbConfigCase_ == 37;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig getLeastRequestLbConfig() {
+ if (leastRequestLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 37) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance();
+ } else {
+ if (lbConfigCase_ == 37) {
+ return leastRequestLbConfigBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public Builder setLeastRequestLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig value) {
+ if (leastRequestLbConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ lbConfig_ = value;
+ onChanged();
+ } else {
+ leastRequestLbConfigBuilder_.setMessage(value);
+ }
+ lbConfigCase_ = 37;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public Builder setLeastRequestLbConfig(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.Builder builderForValue) {
+ if (leastRequestLbConfigBuilder_ == null) {
+ lbConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ leastRequestLbConfigBuilder_.setMessage(builderForValue.build());
+ }
+ lbConfigCase_ = 37;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public Builder mergeLeastRequestLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig value) {
+ if (leastRequestLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 37 &&
+ lbConfig_ != io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance()) {
+ lbConfig_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.newBuilder((io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ lbConfig_ = value;
+ }
+ onChanged();
+ } else {
+ if (lbConfigCase_ == 37) {
+ leastRequestLbConfigBuilder_.mergeFrom(value);
+ }
+ leastRequestLbConfigBuilder_.setMessage(value);
+ }
+ lbConfigCase_ = 37;
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public Builder clearLeastRequestLbConfig() {
+ if (leastRequestLbConfigBuilder_ == null) {
+ if (lbConfigCase_ == 37) {
+ lbConfigCase_ = 0;
+ lbConfig_ = null;
+ onChanged();
+ }
+ } else {
+ if (lbConfigCase_ == 37) {
+ lbConfigCase_ = 0;
+ lbConfig_ = null;
+ }
+ leastRequestLbConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.Builder getLeastRequestLbConfigBuilder() {
+ return getLeastRequestLbConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder() {
+ if ((lbConfigCase_ == 37) && (leastRequestLbConfigBuilder_ != null)) {
+ return leastRequestLbConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (lbConfigCase_ == 37) {
+ return (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfigOrBuilder>
+ getLeastRequestLbConfigFieldBuilder() {
+ if (leastRequestLbConfigBuilder_ == null) {
+ if (!(lbConfigCase_ == 37)) {
+ lbConfig_ = io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.getDefaultInstance();
+ }
+ leastRequestLbConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfigOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig) lbConfig_,
+ getParentForChildren(),
+ isClean());
+ lbConfig_ = null;
+ }
+ lbConfigCase_ = 37;
+ onChanged();;
+ return leastRequestLbConfigBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig commonLbConfig_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfigOrBuilder> commonLbConfigBuilder_;
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public boolean hasCommonLbConfig() {
+ return commonLbConfigBuilder_ != null || commonLbConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig getCommonLbConfig() {
+ if (commonLbConfigBuilder_ == null) {
+ return commonLbConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.getDefaultInstance() : commonLbConfig_;
+ } else {
+ return commonLbConfigBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public Builder setCommonLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig value) {
+ if (commonLbConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ commonLbConfig_ = value;
+ onChanged();
+ } else {
+ commonLbConfigBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public Builder setCommonLbConfig(
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.Builder builderForValue) {
+ if (commonLbConfigBuilder_ == null) {
+ commonLbConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ commonLbConfigBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public Builder mergeCommonLbConfig(io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig value) {
+ if (commonLbConfigBuilder_ == null) {
+ if (commonLbConfig_ != null) {
+ commonLbConfig_ =
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.newBuilder(commonLbConfig_).mergeFrom(value).buildPartial();
+ } else {
+ commonLbConfig_ = value;
+ }
+ onChanged();
+ } else {
+ commonLbConfigBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public Builder clearCommonLbConfig() {
+ if (commonLbConfigBuilder_ == null) {
+ commonLbConfig_ = null;
+ onChanged();
+ } else {
+ commonLbConfig_ = null;
+ commonLbConfigBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.Builder getCommonLbConfigBuilder() {
+
+ onChanged();
+ return getCommonLbConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder() {
+ if (commonLbConfigBuilder_ != null) {
+ return commonLbConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return commonLbConfig_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.getDefaultInstance() : commonLbConfig_;
+ }
+ }
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfigOrBuilder>
+ getCommonLbConfigFieldBuilder() {
+ if (commonLbConfigBuilder_ == null) {
+ commonLbConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfigOrBuilder>(
+ getCommonLbConfig(),
+ getParentForChildren(),
+ isClean());
+ commonLbConfig_ = null;
+ }
+ return commonLbConfigBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket transportSocket_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket, io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.Builder, io.grpc.xds.shaded.envoy.api.v2.core.TransportSocketOrBuilder> transportSocketBuilder_;
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public boolean hasTransportSocket() {
+ return transportSocketBuilder_ != null || transportSocket_ != null;
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket getTransportSocket() {
+ if (transportSocketBuilder_ == null) {
+ return transportSocket_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.getDefaultInstance() : transportSocket_;
+ } else {
+ return transportSocketBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public Builder setTransportSocket(io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket value) {
+ if (transportSocketBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ transportSocket_ = value;
+ onChanged();
+ } else {
+ transportSocketBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public Builder setTransportSocket(
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.Builder builderForValue) {
+ if (transportSocketBuilder_ == null) {
+ transportSocket_ = builderForValue.build();
+ onChanged();
+ } else {
+ transportSocketBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public Builder mergeTransportSocket(io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket value) {
+ if (transportSocketBuilder_ == null) {
+ if (transportSocket_ != null) {
+ transportSocket_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.newBuilder(transportSocket_).mergeFrom(value).buildPartial();
+ } else {
+ transportSocket_ = value;
+ }
+ onChanged();
+ } else {
+ transportSocketBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public Builder clearTransportSocket() {
+ if (transportSocketBuilder_ == null) {
+ transportSocket_ = null;
+ onChanged();
+ } else {
+ transportSocket_ = null;
+ transportSocketBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.Builder getTransportSocketBuilder() {
+
+ onChanged();
+ return getTransportSocketFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocketOrBuilder getTransportSocketOrBuilder() {
+ if (transportSocketBuilder_ != null) {
+ return transportSocketBuilder_.getMessageOrBuilder();
+ } else {
+ return transportSocket_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.getDefaultInstance() : transportSocket_;
+ }
+ }
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket, io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.Builder, io.grpc.xds.shaded.envoy.api.v2.core.TransportSocketOrBuilder>
+ getTransportSocketFieldBuilder() {
+ if (transportSocketBuilder_ == null) {
+ transportSocketBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket, io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.Builder, io.grpc.xds.shaded.envoy.api.v2.core.TransportSocketOrBuilder>(
+ getTransportSocket(),
+ getParentForChildren(),
+ isClean());
+ transportSocket_ = null;
+ }
+ return transportSocketBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Metadata metadata_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata, io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder, io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder> metadataBuilder_;
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public boolean hasMetadata() {
+ return metadataBuilder_ != null || metadata_ != null;
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata getMetadata() {
+ if (metadataBuilder_ == null) {
+ return metadata_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Metadata.getDefaultInstance() : metadata_;
+ } else {
+ return metadataBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public Builder setMetadata(io.grpc.xds.shaded.envoy.api.v2.core.Metadata value) {
+ if (metadataBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ metadata_ = value;
+ onChanged();
+ } else {
+ metadataBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public Builder setMetadata(
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder builderForValue) {
+ if (metadataBuilder_ == null) {
+ metadata_ = builderForValue.build();
+ onChanged();
+ } else {
+ metadataBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public Builder mergeMetadata(io.grpc.xds.shaded.envoy.api.v2.core.Metadata value) {
+ if (metadataBuilder_ == null) {
+ if (metadata_ != null) {
+ metadata_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial();
+ } else {
+ metadata_ = value;
+ }
+ onChanged();
+ } else {
+ metadataBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public Builder clearMetadata() {
+ if (metadataBuilder_ == null) {
+ metadata_ = null;
+ onChanged();
+ } else {
+ metadata_ = null;
+ metadataBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder getMetadataBuilder() {
+
+ onChanged();
+ return getMetadataFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder getMetadataOrBuilder() {
+ if (metadataBuilder_ != null) {
+ return metadataBuilder_.getMessageOrBuilder();
+ } else {
+ return metadata_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.getDefaultInstance() : metadata_;
+ }
+ }
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata, io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder, io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder>
+ getMetadataFieldBuilder() {
+ if (metadataBuilder_ == null) {
+ metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata, io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder, io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder>(
+ getMetadata(),
+ getParentForChildren(),
+ isClean());
+ metadata_ = null;
+ }
+ return metadataBuilder_;
+ }
+
+ private int protocolSelection_ = 0;
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ public int getProtocolSelectionValue() {
+ return protocolSelection_;
+ }
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ public Builder setProtocolSelectionValue(int value) {
+ protocolSelection_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection getProtocolSelection() {
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection result = io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection.valueOf(protocolSelection_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ public Builder setProtocolSelection(io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ protocolSelection_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ public Builder clearProtocolSelection() {
+
+ protocolSelection_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions upstreamConnectionOptions_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions, io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptionsOrBuilder> upstreamConnectionOptionsBuilder_;
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public boolean hasUpstreamConnectionOptions() {
+ return upstreamConnectionOptionsBuilder_ != null || upstreamConnectionOptions_ != null;
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions getUpstreamConnectionOptions() {
+ if (upstreamConnectionOptionsBuilder_ == null) {
+ return upstreamConnectionOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.getDefaultInstance() : upstreamConnectionOptions_;
+ } else {
+ return upstreamConnectionOptionsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public Builder setUpstreamConnectionOptions(io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions value) {
+ if (upstreamConnectionOptionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ upstreamConnectionOptions_ = value;
+ onChanged();
+ } else {
+ upstreamConnectionOptionsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public Builder setUpstreamConnectionOptions(
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.Builder builderForValue) {
+ if (upstreamConnectionOptionsBuilder_ == null) {
+ upstreamConnectionOptions_ = builderForValue.build();
+ onChanged();
+ } else {
+ upstreamConnectionOptionsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public Builder mergeUpstreamConnectionOptions(io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions value) {
+ if (upstreamConnectionOptionsBuilder_ == null) {
+ if (upstreamConnectionOptions_ != null) {
+ upstreamConnectionOptions_ =
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.newBuilder(upstreamConnectionOptions_).mergeFrom(value).buildPartial();
+ } else {
+ upstreamConnectionOptions_ = value;
+ }
+ onChanged();
+ } else {
+ upstreamConnectionOptionsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public Builder clearUpstreamConnectionOptions() {
+ if (upstreamConnectionOptionsBuilder_ == null) {
+ upstreamConnectionOptions_ = null;
+ onChanged();
+ } else {
+ upstreamConnectionOptions_ = null;
+ upstreamConnectionOptionsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.Builder getUpstreamConnectionOptionsBuilder() {
+
+ onChanged();
+ return getUpstreamConnectionOptionsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder() {
+ if (upstreamConnectionOptionsBuilder_ != null) {
+ return upstreamConnectionOptionsBuilder_.getMessageOrBuilder();
+ } else {
+ return upstreamConnectionOptions_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.getDefaultInstance() : upstreamConnectionOptions_;
+ }
+ }
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions, io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptionsOrBuilder>
+ getUpstreamConnectionOptionsFieldBuilder() {
+ if (upstreamConnectionOptionsBuilder_ == null) {
+ upstreamConnectionOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions, io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptionsOrBuilder>(
+ getUpstreamConnectionOptions(),
+ getParentForChildren(),
+ isClean());
+ upstreamConnectionOptions_ = null;
+ }
+ return upstreamConnectionOptionsBuilder_;
+ }
+
+ private boolean closeConnectionsOnHostHealthFailure_ ;
+ /**
+ * <pre>
+ * If an upstream host becomes unhealthy (as determined by the configured health checks
+ * or outlier detection), immediately close all connections to the failed host.
+ * .. note::
+ * This is currently only supported for connections created by tcp_proxy.
+ * .. note::
+ * The current implementation of this feature closes all connections immediately when
+ * the unhealthy status is detected. If there are a large number of connections open
+ * to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
+ * time exclusively closing these connections, and not processing any other traffic.
+ * </pre>
+ *
+ * <code>bool close_connections_on_host_health_failure = 31;</code>
+ */
+ public boolean getCloseConnectionsOnHostHealthFailure() {
+ return closeConnectionsOnHostHealthFailure_;
+ }
+ /**
+ * <pre>
+ * If an upstream host becomes unhealthy (as determined by the configured health checks
+ * or outlier detection), immediately close all connections to the failed host.
+ * .. note::
+ * This is currently only supported for connections created by tcp_proxy.
+ * .. note::
+ * The current implementation of this feature closes all connections immediately when
+ * the unhealthy status is detected. If there are a large number of connections open
+ * to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
+ * time exclusively closing these connections, and not processing any other traffic.
+ * </pre>
+ *
+ * <code>bool close_connections_on_host_health_failure = 31;</code>
+ */
+ public Builder setCloseConnectionsOnHostHealthFailure(boolean value) {
+
+ closeConnectionsOnHostHealthFailure_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If an upstream host becomes unhealthy (as determined by the configured health checks
+ * or outlier detection), immediately close all connections to the failed host.
+ * .. note::
+ * This is currently only supported for connections created by tcp_proxy.
+ * .. note::
+ * The current implementation of this feature closes all connections immediately when
+ * the unhealthy status is detected. If there are a large number of connections open
+ * to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
+ * time exclusively closing these connections, and not processing any other traffic.
+ * </pre>
+ *
+ * <code>bool close_connections_on_host_health_failure = 31;</code>
+ */
+ public Builder clearCloseConnectionsOnHostHealthFailure() {
+
+ closeConnectionsOnHostHealthFailure_ = false;
+ onChanged();
+ return this;
+ }
+
+ private boolean drainConnectionsOnHostRemoval_ ;
+ /**
+ * <pre>
+ * If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain
+ * connections from any hosts that are removed from service discovery.
+ * This only affects behavior for hosts that are being actively health checked.
+ * If this flag is not set to true, Envoy will wait until the hosts fail active health
+ * checking before removing it from the cluster.
+ * </pre>
+ *
+ * <code>bool drain_connections_on_host_removal = 32;</code>
+ */
+ public boolean getDrainConnectionsOnHostRemoval() {
+ return drainConnectionsOnHostRemoval_;
+ }
+ /**
+ * <pre>
+ * If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain
+ * connections from any hosts that are removed from service discovery.
+ * This only affects behavior for hosts that are being actively health checked.
+ * If this flag is not set to true, Envoy will wait until the hosts fail active health
+ * checking before removing it from the cluster.
+ * </pre>
+ *
+ * <code>bool drain_connections_on_host_removal = 32;</code>
+ */
+ public Builder setDrainConnectionsOnHostRemoval(boolean value) {
+
+ drainConnectionsOnHostRemoval_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain
+ * connections from any hosts that are removed from service discovery.
+ * This only affects behavior for hosts that are being actively health checked.
+ * If this flag is not set to true, Envoy will wait until the hosts fail active health
+ * checking before removing it from the cluster.
+ * </pre>
+ *
+ * <code>bool drain_connections_on_host_removal = 32;</code>
+ */
+ public Builder clearDrainConnectionsOnHostRemoval() {
+
+ drainConnectionsOnHostRemoval_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Cluster)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Cluster)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Cluster DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Cluster();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Cluster getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Cluster>
+ PARSER = new com.google.protobuf.AbstractParser<Cluster>() {
+ public Cluster parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Cluster(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Cluster> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Cluster> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterDiscoveryService.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterDiscoveryService.java
new file mode 100644
index 000000000..7b7bddbed
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterDiscoveryService.java
@@ -0,0 +1,383 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * <pre>
+ * Return list of all clusters this proxy will load balance to.
+ * </pre>
+ *
+ * Protobuf service {@code envoy.api.v2.ClusterDiscoveryService}
+ */
+public abstract class ClusterDiscoveryService
+ implements com.google.protobuf.Service {
+ protected ClusterDiscoveryService() {}
+
+ public interface Interface {
+ /**
+ * <code>rpc StreamClusters(stream .envoy.api.v2.DiscoveryRequest) returns (stream .envoy.api.v2.DiscoveryResponse);</code>
+ */
+ public abstract void streamClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done);
+
+ /**
+ * <code>rpc IncrementalClusters(stream .envoy.api.v2.IncrementalDiscoveryRequest) returns (stream .envoy.api.v2.IncrementalDiscoveryResponse);</code>
+ */
+ public abstract void incrementalClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> done);
+
+ /**
+ * <code>rpc FetchClusters(.envoy.api.v2.DiscoveryRequest) returns (.envoy.api.v2.DiscoveryResponse) { ... }</code>
+ */
+ public abstract void fetchClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done);
+
+ }
+
+ public static com.google.protobuf.Service newReflectiveService(
+ final Interface impl) {
+ return new ClusterDiscoveryService() {
+ @java.lang.Override
+ public void streamClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done) {
+ impl.streamClusters(controller, request, done);
+ }
+
+ @java.lang.Override
+ public void incrementalClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> done) {
+ impl.incrementalClusters(controller, request, done);
+ }
+
+ @java.lang.Override
+ public void fetchClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done) {
+ impl.fetchClusters(controller, request, done);
+ }
+
+ };
+ }
+
+ public static com.google.protobuf.BlockingService
+ newReflectiveBlockingService(final BlockingInterface impl) {
+ return new com.google.protobuf.BlockingService() {
+ public final com.google.protobuf.Descriptors.ServiceDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+
+ public final com.google.protobuf.Message callBlockingMethod(
+ com.google.protobuf.Descriptors.MethodDescriptor method,
+ com.google.protobuf.RpcController controller,
+ com.google.protobuf.Message request)
+ throws com.google.protobuf.ServiceException {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.callBlockingMethod() given method descriptor for " +
+ "wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return impl.streamClusters(controller, (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)request);
+ case 1:
+ return impl.incrementalClusters(controller, (io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest)request);
+ case 2:
+ return impl.fetchClusters(controller, (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)request);
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public final com.google.protobuf.Message
+ getRequestPrototype(
+ com.google.protobuf.Descriptors.MethodDescriptor method) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.getRequestPrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ case 1:
+ return io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.getDefaultInstance();
+ case 2:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public final com.google.protobuf.Message
+ getResponsePrototype(
+ com.google.protobuf.Descriptors.MethodDescriptor method) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.getResponsePrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ case 1:
+ return io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.getDefaultInstance();
+ case 2:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ };
+ }
+
+ /**
+ * <code>rpc StreamClusters(stream .envoy.api.v2.DiscoveryRequest) returns (stream .envoy.api.v2.DiscoveryResponse);</code>
+ */
+ public abstract void streamClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done);
+
+ /**
+ * <code>rpc IncrementalClusters(stream .envoy.api.v2.IncrementalDiscoveryRequest) returns (stream .envoy.api.v2.IncrementalDiscoveryResponse);</code>
+ */
+ public abstract void incrementalClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> done);
+
+ /**
+ * <code>rpc FetchClusters(.envoy.api.v2.DiscoveryRequest) returns (.envoy.api.v2.DiscoveryResponse) { ... }</code>
+ */
+ public abstract void fetchClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done);
+
+ public static final
+ com.google.protobuf.Descriptors.ServiceDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.getDescriptor().getServices().get(0);
+ }
+ public final com.google.protobuf.Descriptors.ServiceDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+
+ public final void callMethod(
+ com.google.protobuf.Descriptors.MethodDescriptor method,
+ com.google.protobuf.RpcController controller,
+ com.google.protobuf.Message request,
+ com.google.protobuf.RpcCallback<
+ com.google.protobuf.Message> done) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.callMethod() given method descriptor for wrong " +
+ "service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ this.streamClusters(controller, (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)request,
+ com.google.protobuf.RpcUtil.<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>specializeCallback(
+ done));
+ return;
+ case 1:
+ this.incrementalClusters(controller, (io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest)request,
+ com.google.protobuf.RpcUtil.<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse>specializeCallback(
+ done));
+ return;
+ case 2:
+ this.fetchClusters(controller, (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)request,
+ com.google.protobuf.RpcUtil.<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>specializeCallback(
+ done));
+ return;
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public final com.google.protobuf.Message
+ getRequestPrototype(
+ com.google.protobuf.Descriptors.MethodDescriptor method) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.getRequestPrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ case 1:
+ return io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.getDefaultInstance();
+ case 2:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public final com.google.protobuf.Message
+ getResponsePrototype(
+ com.google.protobuf.Descriptors.MethodDescriptor method) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.getResponsePrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ case 1:
+ return io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.getDefaultInstance();
+ case 2:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public static Stub newStub(
+ com.google.protobuf.RpcChannel channel) {
+ return new Stub(channel);
+ }
+
+ public static final class Stub extends io.grpc.xds.shaded.envoy.api.v2.ClusterDiscoveryService implements Interface {
+ private Stub(com.google.protobuf.RpcChannel channel) {
+ this.channel = channel;
+ }
+
+ private final com.google.protobuf.RpcChannel channel;
+
+ public com.google.protobuf.RpcChannel getChannel() {
+ return channel;
+ }
+
+ public void streamClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done) {
+ channel.callMethod(
+ getDescriptor().getMethods().get(0),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance(),
+ com.google.protobuf.RpcUtil.generalizeCallback(
+ done,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()));
+ }
+
+ public void incrementalClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse> done) {
+ channel.callMethod(
+ getDescriptor().getMethods().get(1),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.getDefaultInstance(),
+ com.google.protobuf.RpcUtil.generalizeCallback(
+ done,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.class,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.getDefaultInstance()));
+ }
+
+ public void fetchClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done) {
+ channel.callMethod(
+ getDescriptor().getMethods().get(2),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance(),
+ com.google.protobuf.RpcUtil.generalizeCallback(
+ done,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()));
+ }
+ }
+
+ public static BlockingInterface newBlockingStub(
+ com.google.protobuf.BlockingRpcChannel channel) {
+ return new BlockingStub(channel);
+ }
+
+ public interface BlockingInterface {
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse streamClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request)
+ throws com.google.protobuf.ServiceException;
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse incrementalClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest request)
+ throws com.google.protobuf.ServiceException;
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse fetchClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request)
+ throws com.google.protobuf.ServiceException;
+ }
+
+ private static final class BlockingStub implements BlockingInterface {
+ private BlockingStub(com.google.protobuf.BlockingRpcChannel channel) {
+ this.channel = channel;
+ }
+
+ private final com.google.protobuf.BlockingRpcChannel channel;
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse streamClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request)
+ throws com.google.protobuf.ServiceException {
+ return (io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse) channel.callBlockingMethod(
+ getDescriptor().getMethods().get(0),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance());
+ }
+
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse incrementalClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest request)
+ throws com.google.protobuf.ServiceException {
+ return (io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse) channel.callBlockingMethod(
+ getDescriptor().getMethods().get(1),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.getDefaultInstance());
+ }
+
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse fetchClusters(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request)
+ throws com.google.protobuf.ServiceException {
+ return (io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse) channel.callBlockingMethod(
+ getDescriptor().getMethods().get(2),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance());
+ }
+
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.ClusterDiscoveryService)
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterLoadAssignment.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterLoadAssignment.java
new file mode 100644
index 000000000..6c93ec999
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterLoadAssignment.java
@@ -0,0 +1,3715 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/eds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * <pre>
+ * Each route from RDS will map to a single cluster or traffic split across
+ * clusters using weights expressed in the RDS WeightedCluster.
+ * With EDS, each cluster is treated independently from a LB perspective, with
+ * LB taking place between the Localities within a cluster and at a finer
+ * granularity between the hosts within a locality. For a given cluster, the
+ * effective weight of a host is its load_balancing_weight multiplied by the
+ * load_balancing_weight of its Locality.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.ClusterLoadAssignment}
+ */
+public final class ClusterLoadAssignment extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.ClusterLoadAssignment)
+ ClusterLoadAssignmentOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use ClusterLoadAssignment.newBuilder() to construct.
+ private ClusterLoadAssignment(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ClusterLoadAssignment() {
+ clusterName_ = "";
+ endpoints_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ClusterLoadAssignment(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ clusterName_ = s;
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ endpoints_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints>();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ endpoints_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.parser(), extensionRegistry));
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.Builder subBuilder = null;
+ if (policy_ != null) {
+ subBuilder = policy_.toBuilder();
+ }
+ policy_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(policy_);
+ policy_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ endpoints_ = java.util.Collections.unmodifiableList(endpoints_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.class, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Builder.class);
+ }
+
+ public interface PolicyOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.ClusterLoadAssignment.Policy)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload>
+ getDropOverloadsList();
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload getDropOverloads(int index);
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ int getDropOverloadsCount();
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder>
+ getDropOverloadsOrBuilderList();
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder getDropOverloadsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasOverprovisioningFactor();
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getOverprovisioningFactor();
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getOverprovisioningFactorOrBuilder();
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.ClusterLoadAssignment.Policy}
+ */
+ public static final class Policy extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.ClusterLoadAssignment.Policy)
+ PolicyOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Policy.newBuilder() to construct.
+ private Policy(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Policy() {
+ dropOverloads_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Policy(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ dropOverloads_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload>();
+ mutable_bitField0_ |= 0x00000001;
+ }
+ dropOverloads_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.parser(), extensionRegistry));
+ break;
+ }
+ case 26: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (overprovisioningFactor_ != null) {
+ subBuilder = overprovisioningFactor_.toBuilder();
+ }
+ overprovisioningFactor_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(overprovisioningFactor_);
+ overprovisioningFactor_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ dropOverloads_ = java.util.Collections.unmodifiableList(dropOverloads_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.class, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.Builder.class);
+ }
+
+ public interface DropOverloadOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getCategory();
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getCategoryBytes();
+
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ boolean hasDropPercentage();
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.type.FractionalPercent getDropPercentage();
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder getDropPercentageOrBuilder();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload}
+ */
+ public static final class DropOverload extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload)
+ DropOverloadOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use DropOverload.newBuilder() to construct.
+ private DropOverload(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DropOverload() {
+ category_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DropOverload(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ category_ = s;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder subBuilder = null;
+ if (dropPercentage_ != null) {
+ subBuilder = dropPercentage_.toBuilder();
+ }
+ dropPercentage_ = input.readMessage(io.grpc.xds.shaded.envoy.type.FractionalPercent.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(dropPercentage_);
+ dropPercentage_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.class, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder.class);
+ }
+
+ public static final int CATEGORY_FIELD_NUMBER = 1;
+ private volatile java.lang.Object category_;
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getCategory() {
+ java.lang.Object ref = category_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ category_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getCategoryBytes() {
+ java.lang.Object ref = category_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ category_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int DROP_PERCENTAGE_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.type.FractionalPercent dropPercentage_;
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public boolean hasDropPercentage() {
+ return dropPercentage_ != null;
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent getDropPercentage() {
+ return dropPercentage_ == null ? io.grpc.xds.shaded.envoy.type.FractionalPercent.getDefaultInstance() : dropPercentage_;
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder getDropPercentageOrBuilder() {
+ return getDropPercentage();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getCategoryBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, category_);
+ }
+ if (dropPercentage_ != null) {
+ output.writeMessage(2, getDropPercentage());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getCategoryBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, category_);
+ }
+ if (dropPercentage_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getDropPercentage());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload other = (io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload) obj;
+
+ boolean result = true;
+ result = result && getCategory()
+ .equals(other.getCategory());
+ result = result && (hasDropPercentage() == other.hasDropPercentage());
+ if (hasDropPercentage()) {
+ result = result && getDropPercentage()
+ .equals(other.getDropPercentage());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + CATEGORY_FIELD_NUMBER;
+ hash = (53 * hash) + getCategory().hashCode();
+ if (hasDropPercentage()) {
+ hash = (37 * hash) + DROP_PERCENTAGE_FIELD_NUMBER;
+ hash = (53 * hash) + getDropPercentage().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload)
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.class, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ category_ = "";
+
+ if (dropPercentageBuilder_ == null) {
+ dropPercentage_ = null;
+ } else {
+ dropPercentage_ = null;
+ dropPercentageBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload build() {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload result = new io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload(this);
+ result.category_ = category_;
+ if (dropPercentageBuilder_ == null) {
+ result.dropPercentage_ = dropPercentage_;
+ } else {
+ result.dropPercentage_ = dropPercentageBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.getDefaultInstance()) return this;
+ if (!other.getCategory().isEmpty()) {
+ category_ = other.category_;
+ onChanged();
+ }
+ if (other.hasDropPercentage()) {
+ mergeDropPercentage(other.getDropPercentage());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object category_ = "";
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getCategory() {
+ java.lang.Object ref = category_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ category_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getCategoryBytes() {
+ java.lang.Object ref = category_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ category_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setCategory(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ category_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearCategory() {
+
+ category_ = getDefaultInstance().getCategory();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setCategoryBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ category_ = value;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.type.FractionalPercent dropPercentage_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.FractionalPercent, io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder, io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder> dropPercentageBuilder_;
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public boolean hasDropPercentage() {
+ return dropPercentageBuilder_ != null || dropPercentage_ != null;
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent getDropPercentage() {
+ if (dropPercentageBuilder_ == null) {
+ return dropPercentage_ == null ? io.grpc.xds.shaded.envoy.type.FractionalPercent.getDefaultInstance() : dropPercentage_;
+ } else {
+ return dropPercentageBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public Builder setDropPercentage(io.grpc.xds.shaded.envoy.type.FractionalPercent value) {
+ if (dropPercentageBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ dropPercentage_ = value;
+ onChanged();
+ } else {
+ dropPercentageBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public Builder setDropPercentage(
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder builderForValue) {
+ if (dropPercentageBuilder_ == null) {
+ dropPercentage_ = builderForValue.build();
+ onChanged();
+ } else {
+ dropPercentageBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public Builder mergeDropPercentage(io.grpc.xds.shaded.envoy.type.FractionalPercent value) {
+ if (dropPercentageBuilder_ == null) {
+ if (dropPercentage_ != null) {
+ dropPercentage_ =
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.newBuilder(dropPercentage_).mergeFrom(value).buildPartial();
+ } else {
+ dropPercentage_ = value;
+ }
+ onChanged();
+ } else {
+ dropPercentageBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public Builder clearDropPercentage() {
+ if (dropPercentageBuilder_ == null) {
+ dropPercentage_ = null;
+ onChanged();
+ } else {
+ dropPercentage_ = null;
+ dropPercentageBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder getDropPercentageBuilder() {
+
+ onChanged();
+ return getDropPercentageFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder getDropPercentageOrBuilder() {
+ if (dropPercentageBuilder_ != null) {
+ return dropPercentageBuilder_.getMessageOrBuilder();
+ } else {
+ return dropPercentage_ == null ?
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.getDefaultInstance() : dropPercentage_;
+ }
+ }
+ /**
+ * <pre>
+ * Percentage of traffic that should be dropped for the category.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent drop_percentage = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.FractionalPercent, io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder, io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder>
+ getDropPercentageFieldBuilder() {
+ if (dropPercentageBuilder_ == null) {
+ dropPercentageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.FractionalPercent, io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder, io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder>(
+ getDropPercentage(),
+ getParentForChildren(),
+ isClean());
+ dropPercentage_ = null;
+ }
+ return dropPercentageBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload)
+ private static final io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DropOverload>
+ PARSER = new com.google.protobuf.AbstractParser<DropOverload>() {
+ public DropOverload parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DropOverload(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DropOverload> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DropOverload> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int bitField0_;
+ public static final int DROP_OVERLOADS_FIELD_NUMBER = 2;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload> dropOverloads_;
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload> getDropOverloadsList() {
+ return dropOverloads_;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder>
+ getDropOverloadsOrBuilderList() {
+ return dropOverloads_;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public int getDropOverloadsCount() {
+ return dropOverloads_.size();
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload getDropOverloads(int index) {
+ return dropOverloads_.get(index);
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder getDropOverloadsOrBuilder(
+ int index) {
+ return dropOverloads_.get(index);
+ }
+
+ public static final int OVERPROVISIONING_FACTOR_FIELD_NUMBER = 3;
+ private com.google.protobuf.UInt32Value overprovisioningFactor_;
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasOverprovisioningFactor() {
+ return overprovisioningFactor_ != null;
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getOverprovisioningFactor() {
+ return overprovisioningFactor_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : overprovisioningFactor_;
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getOverprovisioningFactorOrBuilder() {
+ return getOverprovisioningFactor();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ for (int i = 0; i < dropOverloads_.size(); i++) {
+ output.writeMessage(2, dropOverloads_.get(i));
+ }
+ if (overprovisioningFactor_ != null) {
+ output.writeMessage(3, getOverprovisioningFactor());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ for (int i = 0; i < dropOverloads_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, dropOverloads_.get(i));
+ }
+ if (overprovisioningFactor_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getOverprovisioningFactor());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy other = (io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy) obj;
+
+ boolean result = true;
+ result = result && getDropOverloadsList()
+ .equals(other.getDropOverloadsList());
+ result = result && (hasOverprovisioningFactor() == other.hasOverprovisioningFactor());
+ if (hasOverprovisioningFactor()) {
+ result = result && getOverprovisioningFactor()
+ .equals(other.getOverprovisioningFactor());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (getDropOverloadsCount() > 0) {
+ hash = (37 * hash) + DROP_OVERLOADS_FIELD_NUMBER;
+ hash = (53 * hash) + getDropOverloadsList().hashCode();
+ }
+ if (hasOverprovisioningFactor()) {
+ hash = (37 * hash) + OVERPROVISIONING_FACTOR_FIELD_NUMBER;
+ hash = (53 * hash) + getOverprovisioningFactor().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.ClusterLoadAssignment.Policy}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.ClusterLoadAssignment.Policy)
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.PolicyOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.class, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getDropOverloadsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (dropOverloadsBuilder_ == null) {
+ dropOverloads_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ dropOverloadsBuilder_.clear();
+ }
+ if (overprovisioningFactorBuilder_ == null) {
+ overprovisioningFactor_ = null;
+ } else {
+ overprovisioningFactor_ = null;
+ overprovisioningFactorBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy build() {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy result = new io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (dropOverloadsBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ dropOverloads_ = java.util.Collections.unmodifiableList(dropOverloads_);
+ bitField0_ = (bitField0_ & ~0x00000001);
+ }
+ result.dropOverloads_ = dropOverloads_;
+ } else {
+ result.dropOverloads_ = dropOverloadsBuilder_.build();
+ }
+ if (overprovisioningFactorBuilder_ == null) {
+ result.overprovisioningFactor_ = overprovisioningFactor_;
+ } else {
+ result.overprovisioningFactor_ = overprovisioningFactorBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.getDefaultInstance()) return this;
+ if (dropOverloadsBuilder_ == null) {
+ if (!other.dropOverloads_.isEmpty()) {
+ if (dropOverloads_.isEmpty()) {
+ dropOverloads_ = other.dropOverloads_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ ensureDropOverloadsIsMutable();
+ dropOverloads_.addAll(other.dropOverloads_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.dropOverloads_.isEmpty()) {
+ if (dropOverloadsBuilder_.isEmpty()) {
+ dropOverloadsBuilder_.dispose();
+ dropOverloadsBuilder_ = null;
+ dropOverloads_ = other.dropOverloads_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ dropOverloadsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getDropOverloadsFieldBuilder() : null;
+ } else {
+ dropOverloadsBuilder_.addAllMessages(other.dropOverloads_);
+ }
+ }
+ }
+ if (other.hasOverprovisioningFactor()) {
+ mergeOverprovisioningFactor(other.getOverprovisioningFactor());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload> dropOverloads_ =
+ java.util.Collections.emptyList();
+ private void ensureDropOverloadsIsMutable() {
+ if (!((bitField0_ & 0x00000001) == 0x00000001)) {
+ dropOverloads_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload>(dropOverloads_);
+ bitField0_ |= 0x00000001;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder> dropOverloadsBuilder_;
+
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload> getDropOverloadsList() {
+ if (dropOverloadsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(dropOverloads_);
+ } else {
+ return dropOverloadsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public int getDropOverloadsCount() {
+ if (dropOverloadsBuilder_ == null) {
+ return dropOverloads_.size();
+ } else {
+ return dropOverloadsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload getDropOverloads(int index) {
+ if (dropOverloadsBuilder_ == null) {
+ return dropOverloads_.get(index);
+ } else {
+ return dropOverloadsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder setDropOverloads(
+ int index, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload value) {
+ if (dropOverloadsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDropOverloadsIsMutable();
+ dropOverloads_.set(index, value);
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder setDropOverloads(
+ int index, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder builderForValue) {
+ if (dropOverloadsBuilder_ == null) {
+ ensureDropOverloadsIsMutable();
+ dropOverloads_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder addDropOverloads(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload value) {
+ if (dropOverloadsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDropOverloadsIsMutable();
+ dropOverloads_.add(value);
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder addDropOverloads(
+ int index, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload value) {
+ if (dropOverloadsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDropOverloadsIsMutable();
+ dropOverloads_.add(index, value);
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder addDropOverloads(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder builderForValue) {
+ if (dropOverloadsBuilder_ == null) {
+ ensureDropOverloadsIsMutable();
+ dropOverloads_.add(builderForValue.build());
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder addDropOverloads(
+ int index, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder builderForValue) {
+ if (dropOverloadsBuilder_ == null) {
+ ensureDropOverloadsIsMutable();
+ dropOverloads_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder addAllDropOverloads(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload> values) {
+ if (dropOverloadsBuilder_ == null) {
+ ensureDropOverloadsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, dropOverloads_);
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder clearDropOverloads() {
+ if (dropOverloadsBuilder_ == null) {
+ dropOverloads_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public Builder removeDropOverloads(int index) {
+ if (dropOverloadsBuilder_ == null) {
+ ensureDropOverloadsIsMutable();
+ dropOverloads_.remove(index);
+ onChanged();
+ } else {
+ dropOverloadsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder getDropOverloadsBuilder(
+ int index) {
+ return getDropOverloadsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder getDropOverloadsOrBuilder(
+ int index) {
+ if (dropOverloadsBuilder_ == null) {
+ return dropOverloads_.get(index); } else {
+ return dropOverloadsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder>
+ getDropOverloadsOrBuilderList() {
+ if (dropOverloadsBuilder_ != null) {
+ return dropOverloadsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(dropOverloads_);
+ }
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder addDropOverloadsBuilder() {
+ return getDropOverloadsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder addDropOverloadsBuilder(
+ int index) {
+ return getDropOverloadsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Action to trim the overall incoming traffic to protect the upstream
+ * hosts. This action allows protection in case the hosts are unable to
+ * recover from an outage, or unable to autoscale or unable to handle
+ * incoming traffic volume for any reason.
+ * At the client each category is applied one after the other to generate
+ * the 'actual' drop percentage on all outgoing traffic. For example:
+ * .. code-block:: json
+ * { "drop_overloads": [
+ * { "category": "throttle", "drop_percentage": 60 }
+ * { "category": "lb", "drop_percentage": 50 }
+ * ]}
+ * The actual drop percentages applied to the traffic at the clients will be
+ * "throttle"_drop = 60%
+ * "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ * actual_outgoing_load = 20% // remaining after applying all categories.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload drop_overloads = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder>
+ getDropOverloadsBuilderList() {
+ return getDropOverloadsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder>
+ getDropOverloadsFieldBuilder() {
+ if (dropOverloadsBuilder_ == null) {
+ dropOverloadsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverload.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.DropOverloadOrBuilder>(
+ dropOverloads_,
+ ((bitField0_ & 0x00000001) == 0x00000001),
+ getParentForChildren(),
+ isClean());
+ dropOverloads_ = null;
+ }
+ return dropOverloadsBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value overprovisioningFactor_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> overprovisioningFactorBuilder_;
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasOverprovisioningFactor() {
+ return overprovisioningFactorBuilder_ != null || overprovisioningFactor_ != null;
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getOverprovisioningFactor() {
+ if (overprovisioningFactorBuilder_ == null) {
+ return overprovisioningFactor_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : overprovisioningFactor_;
+ } else {
+ return overprovisioningFactorBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setOverprovisioningFactor(com.google.protobuf.UInt32Value value) {
+ if (overprovisioningFactorBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ overprovisioningFactor_ = value;
+ onChanged();
+ } else {
+ overprovisioningFactorBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setOverprovisioningFactor(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (overprovisioningFactorBuilder_ == null) {
+ overprovisioningFactor_ = builderForValue.build();
+ onChanged();
+ } else {
+ overprovisioningFactorBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeOverprovisioningFactor(com.google.protobuf.UInt32Value value) {
+ if (overprovisioningFactorBuilder_ == null) {
+ if (overprovisioningFactor_ != null) {
+ overprovisioningFactor_ =
+ com.google.protobuf.UInt32Value.newBuilder(overprovisioningFactor_).mergeFrom(value).buildPartial();
+ } else {
+ overprovisioningFactor_ = value;
+ }
+ onChanged();
+ } else {
+ overprovisioningFactorBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearOverprovisioningFactor() {
+ if (overprovisioningFactorBuilder_ == null) {
+ overprovisioningFactor_ = null;
+ onChanged();
+ } else {
+ overprovisioningFactor_ = null;
+ overprovisioningFactorBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getOverprovisioningFactorBuilder() {
+
+ onChanged();
+ return getOverprovisioningFactorFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getOverprovisioningFactorOrBuilder() {
+ if (overprovisioningFactorBuilder_ != null) {
+ return overprovisioningFactorBuilder_.getMessageOrBuilder();
+ } else {
+ return overprovisioningFactor_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : overprovisioningFactor_;
+ }
+ }
+ /**
+ * <pre>
+ * Priority levels and localities are considered overprovisioned with this
+ * factor (in percentage). This means that we don't consider a priority
+ * level or locality unhealthy until the percentage of healthy hosts
+ * multiplied by the overprovisioning factor drops below 100.
+ * With the default value 140(1.4), Envoy doesn't consider a priority level
+ * or a locality unhealthy until their percentage of healthy hosts drops
+ * below 72%.
+ * Read more at :ref:`priority levels &lt;arch_overview_load_balancing_priority_levels&gt;` and
+ * :ref:`localities &lt;arch_overview_load_balancing_locality_weighted_lb&gt;`.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value overprovisioning_factor = 3 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getOverprovisioningFactorFieldBuilder() {
+ if (overprovisioningFactorBuilder_ == null) {
+ overprovisioningFactorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getOverprovisioningFactor(),
+ getParentForChildren(),
+ isClean());
+ overprovisioningFactor_ = null;
+ }
+ return overprovisioningFactorBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.ClusterLoadAssignment.Policy)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.ClusterLoadAssignment.Policy)
+ private static final io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Policy>
+ PARSER = new com.google.protobuf.AbstractParser<Policy>() {
+ public Policy parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Policy(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Policy> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Policy> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int bitField0_;
+ public static final int CLUSTER_NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object clusterName_;
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getClusterName() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ clusterName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterNameBytes() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ clusterName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ENDPOINTS_FIELD_NUMBER = 2;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints> endpoints_;
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints> getEndpointsList() {
+ return endpoints_;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder>
+ getEndpointsOrBuilderList() {
+ return endpoints_;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public int getEndpointsCount() {
+ return endpoints_.size();
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints getEndpoints(int index) {
+ return endpoints_.get(index);
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder getEndpointsOrBuilder(
+ int index) {
+ return endpoints_.get(index);
+ }
+
+ public static final int POLICY_FIELD_NUMBER = 4;
+ private io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy policy_;
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public boolean hasPolicy() {
+ return policy_ != null;
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy getPolicy() {
+ return policy_ == null ? io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.getDefaultInstance() : policy_;
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.PolicyOrBuilder getPolicyOrBuilder() {
+ return getPolicy();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getClusterNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterName_);
+ }
+ for (int i = 0; i < endpoints_.size(); i++) {
+ output.writeMessage(2, endpoints_.get(i));
+ }
+ if (policy_ != null) {
+ output.writeMessage(4, getPolicy());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getClusterNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterName_);
+ }
+ for (int i = 0; i < endpoints_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, endpoints_.get(i));
+ }
+ if (policy_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getPolicy());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment other = (io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment) obj;
+
+ boolean result = true;
+ result = result && getClusterName()
+ .equals(other.getClusterName());
+ result = result && getEndpointsList()
+ .equals(other.getEndpointsList());
+ result = result && (hasPolicy() == other.hasPolicy());
+ if (hasPolicy()) {
+ result = result && getPolicy()
+ .equals(other.getPolicy());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + CLUSTER_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getClusterName().hashCode();
+ if (getEndpointsCount() > 0) {
+ hash = (37 * hash) + ENDPOINTS_FIELD_NUMBER;
+ hash = (53 * hash) + getEndpointsList().hashCode();
+ }
+ if (hasPolicy()) {
+ hash = (37 * hash) + POLICY_FIELD_NUMBER;
+ hash = (53 * hash) + getPolicy().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Each route from RDS will map to a single cluster or traffic split across
+ * clusters using weights expressed in the RDS WeightedCluster.
+ * With EDS, each cluster is treated independently from a LB perspective, with
+ * LB taking place between the Localities within a cluster and at a finer
+ * granularity between the hosts within a locality. For a given cluster, the
+ * effective weight of a host is its load_balancing_weight multiplied by the
+ * load_balancing_weight of its Locality.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.ClusterLoadAssignment}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.ClusterLoadAssignment)
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignmentOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.class, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getEndpointsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ clusterName_ = "";
+
+ if (endpointsBuilder_ == null) {
+ endpoints_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ endpointsBuilder_.clear();
+ }
+ if (policyBuilder_ == null) {
+ policy_ = null;
+ } else {
+ policy_ = null;
+ policyBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.internal_static_envoy_api_v2_ClusterLoadAssignment_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment build() {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment result = new io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.clusterName_ = clusterName_;
+ if (endpointsBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ endpoints_ = java.util.Collections.unmodifiableList(endpoints_);
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.endpoints_ = endpoints_;
+ } else {
+ result.endpoints_ = endpointsBuilder_.build();
+ }
+ if (policyBuilder_ == null) {
+ result.policy_ = policy_;
+ } else {
+ result.policy_ = policyBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.getDefaultInstance()) return this;
+ if (!other.getClusterName().isEmpty()) {
+ clusterName_ = other.clusterName_;
+ onChanged();
+ }
+ if (endpointsBuilder_ == null) {
+ if (!other.endpoints_.isEmpty()) {
+ if (endpoints_.isEmpty()) {
+ endpoints_ = other.endpoints_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureEndpointsIsMutable();
+ endpoints_.addAll(other.endpoints_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.endpoints_.isEmpty()) {
+ if (endpointsBuilder_.isEmpty()) {
+ endpointsBuilder_.dispose();
+ endpointsBuilder_ = null;
+ endpoints_ = other.endpoints_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ endpointsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getEndpointsFieldBuilder() : null;
+ } else {
+ endpointsBuilder_.addAllMessages(other.endpoints_);
+ }
+ }
+ }
+ if (other.hasPolicy()) {
+ mergePolicy(other.getPolicy());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object clusterName_ = "";
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getClusterName() {
+ java.lang.Object ref = clusterName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ clusterName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterNameBytes() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ clusterName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setClusterName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ clusterName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearClusterName() {
+
+ clusterName_ = getDefaultInstance().getClusterName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setClusterNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ clusterName_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints> endpoints_ =
+ java.util.Collections.emptyList();
+ private void ensureEndpointsIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ endpoints_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints>(endpoints_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder> endpointsBuilder_;
+
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints> getEndpointsList() {
+ if (endpointsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(endpoints_);
+ } else {
+ return endpointsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public int getEndpointsCount() {
+ if (endpointsBuilder_ == null) {
+ return endpoints_.size();
+ } else {
+ return endpointsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints getEndpoints(int index) {
+ if (endpointsBuilder_ == null) {
+ return endpoints_.get(index);
+ } else {
+ return endpointsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder setEndpoints(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints value) {
+ if (endpointsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEndpointsIsMutable();
+ endpoints_.set(index, value);
+ onChanged();
+ } else {
+ endpointsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder setEndpoints(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder builderForValue) {
+ if (endpointsBuilder_ == null) {
+ ensureEndpointsIsMutable();
+ endpoints_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ endpointsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder addEndpoints(io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints value) {
+ if (endpointsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEndpointsIsMutable();
+ endpoints_.add(value);
+ onChanged();
+ } else {
+ endpointsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder addEndpoints(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints value) {
+ if (endpointsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEndpointsIsMutable();
+ endpoints_.add(index, value);
+ onChanged();
+ } else {
+ endpointsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder addEndpoints(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder builderForValue) {
+ if (endpointsBuilder_ == null) {
+ ensureEndpointsIsMutable();
+ endpoints_.add(builderForValue.build());
+ onChanged();
+ } else {
+ endpointsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder addEndpoints(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder builderForValue) {
+ if (endpointsBuilder_ == null) {
+ ensureEndpointsIsMutable();
+ endpoints_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ endpointsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder addAllEndpoints(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints> values) {
+ if (endpointsBuilder_ == null) {
+ ensureEndpointsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, endpoints_);
+ onChanged();
+ } else {
+ endpointsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder clearEndpoints() {
+ if (endpointsBuilder_ == null) {
+ endpoints_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ endpointsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public Builder removeEndpoints(int index) {
+ if (endpointsBuilder_ == null) {
+ ensureEndpointsIsMutable();
+ endpoints_.remove(index);
+ onChanged();
+ } else {
+ endpointsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder getEndpointsBuilder(
+ int index) {
+ return getEndpointsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder getEndpointsOrBuilder(
+ int index) {
+ if (endpointsBuilder_ == null) {
+ return endpoints_.get(index); } else {
+ return endpointsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder>
+ getEndpointsOrBuilderList() {
+ if (endpointsBuilder_ != null) {
+ return endpointsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(endpoints_);
+ }
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder addEndpointsBuilder() {
+ return getEndpointsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder addEndpointsBuilder(
+ int index) {
+ return getEndpointsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder>
+ getEndpointsBuilderList() {
+ return getEndpointsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder>
+ getEndpointsFieldBuilder() {
+ if (endpointsBuilder_ == null) {
+ endpointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder>(
+ endpoints_,
+ ((bitField0_ & 0x00000002) == 0x00000002),
+ getParentForChildren(),
+ isClean());
+ endpoints_ = null;
+ }
+ return endpointsBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy policy_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.PolicyOrBuilder> policyBuilder_;
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public boolean hasPolicy() {
+ return policyBuilder_ != null || policy_ != null;
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy getPolicy() {
+ if (policyBuilder_ == null) {
+ return policy_ == null ? io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.getDefaultInstance() : policy_;
+ } else {
+ return policyBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public Builder setPolicy(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy value) {
+ if (policyBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ policy_ = value;
+ onChanged();
+ } else {
+ policyBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public Builder setPolicy(
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.Builder builderForValue) {
+ if (policyBuilder_ == null) {
+ policy_ = builderForValue.build();
+ onChanged();
+ } else {
+ policyBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public Builder mergePolicy(io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy value) {
+ if (policyBuilder_ == null) {
+ if (policy_ != null) {
+ policy_ =
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.newBuilder(policy_).mergeFrom(value).buildPartial();
+ } else {
+ policy_ = value;
+ }
+ onChanged();
+ } else {
+ policyBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public Builder clearPolicy() {
+ if (policyBuilder_ == null) {
+ policy_ = null;
+ onChanged();
+ } else {
+ policy_ = null;
+ policyBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.Builder getPolicyBuilder() {
+
+ onChanged();
+ return getPolicyFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.PolicyOrBuilder getPolicyOrBuilder() {
+ if (policyBuilder_ != null) {
+ return policyBuilder_.getMessageOrBuilder();
+ } else {
+ return policy_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.getDefaultInstance() : policy_;
+ }
+ }
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.PolicyOrBuilder>
+ getPolicyFieldBuilder() {
+ if (policyBuilder_ == null) {
+ policyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy.Builder, io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.PolicyOrBuilder>(
+ getPolicy(),
+ getParentForChildren(),
+ isClean());
+ policy_ = null;
+ }
+ return policyBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.ClusterLoadAssignment)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.ClusterLoadAssignment)
+ private static final io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ClusterLoadAssignment>
+ PARSER = new com.google.protobuf.AbstractParser<ClusterLoadAssignment>() {
+ public ClusterLoadAssignment parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ClusterLoadAssignment(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ClusterLoadAssignment> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ClusterLoadAssignment> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterLoadAssignmentOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterLoadAssignmentOrBuilder.java
new file mode 100644
index 000000000..e9742f9ec
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterLoadAssignmentOrBuilder.java
@@ -0,0 +1,102 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/eds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface ClusterLoadAssignmentOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.ClusterLoadAssignment)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getClusterName();
+ /**
+ * <pre>
+ * Name of the cluster. This will be the :ref:`service_name
+ * &lt;envoy_api_field_Cluster.EdsClusterConfig.service_name&gt;` value if specified
+ * in the cluster :ref:`EdsClusterConfig
+ * &lt;envoy_api_msg_Cluster.EdsClusterConfig&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getClusterNameBytes();
+
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints>
+ getEndpointsList();
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints getEndpoints(int index);
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ int getEndpointsCount();
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder>
+ getEndpointsOrBuilderList();
+ /**
+ * <pre>
+ * List of endpoints to load balance to.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LocalityLbEndpoints endpoints = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder getEndpointsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ boolean hasPolicy();
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.Policy getPolicy();
+ /**
+ * <pre>
+ * Load balancing policy settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment.Policy policy = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment.PolicyOrBuilder getPolicyOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterOrBuilder.java
new file mode 100644
index 000000000..87f186b0f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ClusterOrBuilder.java
@@ -0,0 +1,1252 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface ClusterOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Cluster)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getName();
+ /**
+ * <pre>
+ * Supplies the name of the cluster which must be unique across all clusters.
+ * The cluster name is used when emitting
+ * :ref:`statistics &lt;config_cluster_manager_cluster_stats&gt;` if :ref:`alt_stat_name
+ * &lt;envoy_api_field_Cluster.alt_stat_name&gt;` is not provided.
+ * Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ * By default, the maximum length of a cluster name is limited to 60
+ * characters. This limit can be increased by setting the
+ * :option:`--max-obj-name-len` command line argument to the desired value.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ java.lang.String getAltStatName();
+ /**
+ * <pre>
+ * An optional alternative to the cluster name to be used while emitting stats.
+ * Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ * confused with :ref:`Router Filter Header
+ * &lt;config_http_filters_router_x-envoy-upstream-alt-stat-name&gt;`.
+ * </pre>
+ *
+ * <code>string alt_stat_name = 28;</code>
+ */
+ com.google.protobuf.ByteString
+ getAltStatNameBytes();
+
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ int getTypeValue();
+ /**
+ * <pre>
+ * The :ref:`service discovery type &lt;arch_overview_service_discovery_types&gt;`
+ * to use for resolving the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DiscoveryType type = 2 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.DiscoveryType getType();
+
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ boolean hasEdsClusterConfig();
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfig getEdsClusterConfig();
+ /**
+ * <pre>
+ * Configuration to use for EDS updates for the Cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.EdsClusterConfig eds_cluster_config = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.EdsClusterConfigOrBuilder getEdsClusterConfigOrBuilder();
+
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasConnectTimeout();
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getConnectTimeout();
+ /**
+ * <pre>
+ * The timeout for new network connections to hosts in the cluster.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration connect_timeout = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getConnectTimeoutOrBuilder();
+
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ boolean hasPerConnectionBufferLimitBytes();
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ com.google.protobuf.UInt32Value getPerConnectionBufferLimitBytes();
+ /**
+ * <pre>
+ * Soft limit on size of the cluster’s connections read and write buffers. If
+ * unspecified, an implementation defined default is applied (1MiB).
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getPerConnectionBufferLimitBytesOrBuilder();
+
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ int getLbPolicyValue();
+ /**
+ * <pre>
+ * The :ref:`load balancer type &lt;arch_overview_load_balancing_types&gt;` to use
+ * when picking a host in the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbPolicy lb_policy = 6 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbPolicy getLbPolicy();
+
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address>
+ getHostsList();
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated io.grpc.xds.shaded.envoy.api.v2.core.Address getHosts(int index);
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated int getHostsCount();
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getHostsOrBuilderList();
+ /**
+ * <pre>
+ * If the service discovery type is
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * then hosts is required.
+ * .. attention::
+ * **This field is deprecated**. Set the
+ * :ref:`load_assignment&lt;envoy_api_field_Cluster.load_assignment&gt;` field instead.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address hosts = 7 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getHostsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ boolean hasLoadAssignment();
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignment getLoadAssignment();
+ /**
+ * <pre>
+ * Setting this is required for specifying members of
+ * :ref:`STATIC&lt;envoy_api_enum_value_Cluster.DiscoveryType.STATIC&gt;`,
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;` clusters.
+ * This field supersedes :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` field.
+ * [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ * once load_assignment is implemented.]
+ * .. attention::
+ * Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ * :ref:`endpoint assignments&lt;envoy_api_msg_ClusterLoadAssignment&gt;`.
+ * Setting this overrides :ref:`hosts&lt;envoy_api_field_Cluster.hosts&gt;` values.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.ClusterLoadAssignment load_assignment = 33;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.ClusterLoadAssignmentOrBuilder getLoadAssignmentOrBuilder();
+
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck>
+ getHealthChecksList();
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck getHealthChecks(int index);
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ int getHealthChecksCount();
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder>
+ getHealthChecksOrBuilderList();
+ /**
+ * <pre>
+ * Optional :ref:`active health checking &lt;arch_overview_health_checking&gt;`
+ * configuration for the cluster. If no
+ * configuration is specified no health checking will be done and all cluster
+ * members will be considered healthy at all times.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck health_checks = 8;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder getHealthChecksOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ boolean hasMaxRequestsPerConnection();
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ com.google.protobuf.UInt32Value getMaxRequestsPerConnection();
+ /**
+ * <pre>
+ * Optional maximum requests for a single upstream connection. This parameter
+ * is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ * implementations. If not specified, there is no limit. Setting this
+ * parameter to 1 will effectively disable keep alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests_per_connection = 9;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsPerConnectionOrBuilder();
+
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ boolean hasCircuitBreakers();
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers getCircuitBreakers();
+ /**
+ * <pre>
+ * Optional :ref:`circuit breaking &lt;arch_overview_circuit_break&gt;` for the cluster.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.CircuitBreakers circuit_breakers = 10;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakersOrBuilder getCircuitBreakersOrBuilder();
+
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ boolean hasTlsContext();
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext getTlsContext();
+ /**
+ * <pre>
+ * The TLS configuration for connections to the upstream cluster. If no TLS
+ * configuration is specified, TLS will not be used for new connections.
+ * .. attention::
+ * Server certificate verification is not enabled by default. Configure
+ * :ref:`trusted_ca&lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;` to enable
+ * verification.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.UpstreamTlsContext tls_context = 11;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContextOrBuilder getTlsContextOrBuilder();
+
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ boolean hasCommonHttpProtocolOptions();
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions getCommonHttpProtocolOptions();
+ /**
+ * <pre>
+ * Additional options when handling HTTP requests. These options will be applicable to both
+ * HTTP1 and HTTP2 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HttpProtocolOptions common_http_protocol_options = 29;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptionsOrBuilder getCommonHttpProtocolOptionsOrBuilder();
+
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ boolean hasHttpProtocolOptions();
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions getHttpProtocolOptions();
+ /**
+ * <pre>
+ * Additional options when handling HTTP1 requests.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http1ProtocolOptions http_protocol_options = 13;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptionsOrBuilder getHttpProtocolOptionsOrBuilder();
+
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ boolean hasHttp2ProtocolOptions();
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getHttp2ProtocolOptions();
+ /**
+ * <pre>
+ * Even if default HTTP2 protocol options are desired, this field must be
+ * set so that Envoy will assume that the upstream supports HTTP/2 when
+ * making new HTTP connection pool connections. Currently, Envoy only
+ * supports prior knowledge for upstream connections. Even if TLS is used
+ * with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ * connections to happen over plain text.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 14;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder();
+
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+ int getExtensionProtocolOptionsCount();
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+ boolean containsExtensionProtocolOptions(
+ java.lang.String key);
+ /**
+ * Use {@link #getExtensionProtocolOptionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ java.util.Map<java.lang.String, com.google.protobuf.Struct>
+ getExtensionProtocolOptions();
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+ java.util.Map<java.lang.String, com.google.protobuf.Struct>
+ getExtensionProtocolOptionsMap();
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ com.google.protobuf.Struct getExtensionProtocolOptionsOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Struct defaultValue);
+ /**
+ * <pre>
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; extension_protocol_options = 35;</code>
+ */
+
+ com.google.protobuf.Struct getExtensionProtocolOptionsOrThrow(
+ java.lang.String key);
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+ int getTypedExtensionProtocolOptionsCount();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+ boolean containsTypedExtensionProtocolOptions(
+ java.lang.String key);
+ /**
+ * Use {@link #getTypedExtensionProtocolOptionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ java.util.Map<java.lang.String, com.google.protobuf.Any>
+ getTypedExtensionProtocolOptions();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+ java.util.Map<java.lang.String, com.google.protobuf.Any>
+ getTypedExtensionProtocolOptionsMap();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ com.google.protobuf.Any getTypedExtensionProtocolOptionsOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Any defaultValue);
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * The extension_protocol_options field is used to provide extension-specific protocol options
+ * for upstream connections. The key should match the extension filter name, such as
+ * "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ * specific options.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Any&gt; typed_extension_protocol_options = 36;</code>
+ */
+
+ com.google.protobuf.Any getTypedExtensionProtocolOptionsOrThrow(
+ java.lang.String key);
+
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasDnsRefreshRate();
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getDnsRefreshRate();
+ /**
+ * <pre>
+ * If the DNS refresh rate is specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used as the cluster’s DNS refresh
+ * rate. If this setting is not specified, the value defaults to 5000ms. For
+ * cluster types other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration dns_refresh_rate = 16 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getDnsRefreshRateOrBuilder();
+
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ int getDnsLookupFamilyValue();
+ /**
+ * <pre>
+ * The DNS IP address resolution policy. If this setting is not specified, the
+ * value defaults to
+ * :ref:`AUTO&lt;envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.DnsLookupFamily dns_lookup_family = 17 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.DnsLookupFamily getDnsLookupFamily();
+
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.Address>
+ getDnsResolversList();
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Address getDnsResolvers(int index);
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ int getDnsResolversCount();
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getDnsResolversOrBuilderList();
+ /**
+ * <pre>
+ * If DNS resolvers are specified and the cluster type is either
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`,
+ * or :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`,
+ * this value is used to specify the cluster’s dns resolvers.
+ * If this setting is not specified, the value defaults to the default
+ * resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ * other than
+ * :ref:`STRICT_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS&gt;`
+ * and :ref:`LOGICAL_DNS&lt;envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.Address dns_resolvers = 18;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getDnsResolversOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ boolean hasOutlierDetection();
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection getOutlierDetection();
+ /**
+ * <pre>
+ * If specified, outlier detection will be enabled for this upstream cluster.
+ * Each of the configuration values can be overridden via
+ * :ref:`runtime values &lt;config_cluster_manager_cluster_runtime_outlier_detection&gt;`.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.cluster.OutlierDetection outlier_detection = 19;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOrBuilder getOutlierDetectionOrBuilder();
+
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasCleanupInterval();
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getCleanupInterval();
+ /**
+ * <pre>
+ * The interval for removing stale hosts from a cluster type
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`.
+ * Hosts are considered stale if they have not been used
+ * as upstream destinations during this interval. New hosts are added
+ * to original destination clusters on demand as new connections are
+ * redirected to Envoy, causing the number of hosts in the cluster to
+ * grow over time. Hosts that are not stale (they are actively used as
+ * destinations) are kept in the cluster, which allows connections to
+ * them remain open, saving the latency that would otherwise be spent
+ * on opening new connections. If this setting is not specified, the
+ * value defaults to 5000ms. For cluster types other than
+ * :ref:`ORIGINAL_DST&lt;envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST&gt;`
+ * this setting is ignored.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration cleanup_interval = 20 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getCleanupIntervalOrBuilder();
+
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ boolean hasUpstreamBindConfig();
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig getUpstreamBindConfig();
+ /**
+ * <pre>
+ * Optional configuration used to bind newly established upstream connections.
+ * This overrides any bind_config specified in the bootstrap proto.
+ * If the address and port are empty, no bind will be performed.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.BindConfig upstream_bind_config = 21;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfigOrBuilder getUpstreamBindConfigOrBuilder();
+
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ boolean hasLbSubsetConfig();
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfig getLbSubsetConfig();
+ /**
+ * <pre>
+ * Configuration for load balancing subsetting.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LbSubsetConfig lb_subset_config = 22;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LbSubsetConfigOrBuilder getLbSubsetConfigOrBuilder();
+
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ boolean hasRingHashLbConfig();
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfig getRingHashLbConfig();
+ /**
+ * <pre>
+ * Optional configuration for the Ring Hash load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.RingHashLbConfig ring_hash_lb_config = 23;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.RingHashLbConfigOrBuilder getRingHashLbConfigOrBuilder();
+
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ boolean hasOriginalDstLbConfig();
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfig getOriginalDstLbConfig();
+ /**
+ * <pre>
+ * Optional configuration for the Original Destination load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.OriginalDstLbConfig original_dst_lb_config = 34;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.OriginalDstLbConfigOrBuilder getOriginalDstLbConfigOrBuilder();
+
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ boolean hasLeastRequestLbConfig();
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfig getLeastRequestLbConfig();
+ /**
+ * <pre>
+ * Optional configuration for the LeastRequest load balancing policy.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.LeastRequestLbConfig least_request_lb_config = 37;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.LeastRequestLbConfigOrBuilder getLeastRequestLbConfigOrBuilder();
+
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ boolean hasCommonLbConfig();
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfig getCommonLbConfig();
+ /**
+ * <pre>
+ * Common configuration for all load balancer implementations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.CommonLbConfig common_lb_config = 27;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.CommonLbConfigOrBuilder getCommonLbConfigOrBuilder();
+
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ boolean hasTransportSocket();
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket getTransportSocket();
+ /**
+ * <pre>
+ * Optional custom transport socket implementation to use for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TransportSocket transport_socket = 24;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocketOrBuilder getTransportSocketOrBuilder();
+
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ boolean hasMetadata();
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata getMetadata();
+ /**
+ * <pre>
+ * The Metadata field can be used to provide additional information about the
+ * cluster. It can be used for stats, logging, and varying filter behavior.
+ * Fields should use reverse DNS notation to denote which entity within Envoy
+ * will need the information. For instance, if the metadata is intended for
+ * the Router filter, the filter name should be specified as *envoy.router*.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 25;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder getMetadataOrBuilder();
+
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ int getProtocolSelectionValue();
+ /**
+ * <pre>
+ * Determines how Envoy selects the protocol used to speak to upstream hosts.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.Cluster.ClusterProtocolSelection protocol_selection = 26;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Cluster.ClusterProtocolSelection getProtocolSelection();
+
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ boolean hasUpstreamConnectionOptions();
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions getUpstreamConnectionOptions();
+ /**
+ * <pre>
+ * Optional options for upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptionsOrBuilder getUpstreamConnectionOptionsOrBuilder();
+
+ /**
+ * <pre>
+ * If an upstream host becomes unhealthy (as determined by the configured health checks
+ * or outlier detection), immediately close all connections to the failed host.
+ * .. note::
+ * This is currently only supported for connections created by tcp_proxy.
+ * .. note::
+ * The current implementation of this feature closes all connections immediately when
+ * the unhealthy status is detected. If there are a large number of connections open
+ * to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
+ * time exclusively closing these connections, and not processing any other traffic.
+ * </pre>
+ *
+ * <code>bool close_connections_on_host_health_failure = 31;</code>
+ */
+ boolean getCloseConnectionsOnHostHealthFailure();
+
+ /**
+ * <pre>
+ * If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain
+ * connections from any hosts that are removed from service discovery.
+ * This only affects behavior for hosts that are being actively health checked.
+ * If this flag is not set to true, Envoy will wait until the hosts fail active health
+ * checking before removing it from the cluster.
+ * </pre>
+ *
+ * <code>bool drain_connections_on_host_removal = 32;</code>
+ */
+ boolean getDrainConnectionsOnHostRemoval();
+
+ public io.grpc.xds.shaded.envoy.api.v2.Cluster.LbConfigCase getLbConfigCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Discovery.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Discovery.java
new file mode 100644
index 000000000..0edee934b
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Discovery.java
@@ -0,0 +1,142 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public final class Discovery {
+ private Discovery() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_DiscoveryRequest_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_DiscoveryRequest_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_DiscoveryResponse_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_DiscoveryResponse_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_InitialResourceVersionsEntry_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_InitialResourceVersionsEntry_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_IncrementalDiscoveryResponse_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_IncrementalDiscoveryResponse_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_Resource_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_Resource_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\034envoy/api/v2/discovery.proto\022\014envoy.ap" +
+ "i.v2\032\034envoy/api/v2/core/base.proto\032\031goog" +
+ "le/protobuf/any.proto\032\027google/rpc/status" +
+ ".proto\"\273\001\n\020DiscoveryRequest\022\024\n\014version_i" +
+ "nfo\030\001 \001(\t\022%\n\004node\030\002 \001(\0132\027.envoy.api.v2.c" +
+ "ore.Node\022\026\n\016resource_names\030\003 \003(\t\022\020\n\010type" +
+ "_url\030\004 \001(\t\022\026\n\016response_nonce\030\005 \001(\t\022(\n\014er" +
+ "ror_detail\030\006 \001(\0132\022.google.rpc.Status\"\203\001\n" +
+ "\021DiscoveryResponse\022\024\n\014version_info\030\001 \001(\t" +
+ "\022\'\n\tresources\030\002 \003(\0132\024.google.protobuf.An" +
+ "y\022\016\n\006canary\030\003 \001(\010\022\020\n\010type_url\030\004 \001(\t\022\r\n\005n" +
+ "once\030\005 \001(\t\"\211\003\n\033IncrementalDiscoveryReque" +
+ "st\022%\n\004node\030\001 \001(\0132\027.envoy.api.v2.core.Nod" +
+ "e\022\020\n\010type_url\030\002 \001(\t\022 \n\030resource_names_su" +
+ "bscribe\030\003 \003(\t\022\"\n\032resource_names_unsubscr" +
+ "ibe\030\004 \003(\t\022i\n\031initial_resource_versions\030\005" +
+ " \003(\0132F.envoy.api.v2.IncrementalDiscovery" +
+ "Request.InitialResourceVersionsEntry\022\026\n\016" +
+ "response_nonce\030\006 \001(\t\022(\n\014error_detail\030\007 \001" +
+ "(\0132\022.google.rpc.Status\032>\n\034InitialResourc" +
+ "eVersionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001" +
+ "(\t:\0028\001\"\220\001\n\034IncrementalDiscoveryResponse\022" +
+ "\033\n\023system_version_info\030\001 \001(\t\022)\n\tresource" +
+ "s\030\002 \003(\0132\026.envoy.api.v2.Resource\022\031\n\021remov" +
+ "ed_resources\030\006 \003(\t\022\r\n\005nonce\030\005 \001(\t\"C\n\010Res" +
+ "ource\022\017\n\007version\030\001 \001(\t\022&\n\010resource\030\002 \001(\013" +
+ "2\024.google.protobuf.AnyB\'\n\037io.grpc.xds.sh" +
+ "aded.envoy.api.v2P\001Z\002v2b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ com.google.protobuf.AnyProto.getDescriptor(),
+ com.google.rpc.StatusProto.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_DiscoveryRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_DiscoveryRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_DiscoveryRequest_descriptor,
+ new java.lang.String[] { "VersionInfo", "Node", "ResourceNames", "TypeUrl", "ResponseNonce", "ErrorDetail", });
+ internal_static_envoy_api_v2_DiscoveryResponse_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_DiscoveryResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_DiscoveryResponse_descriptor,
+ new java.lang.String[] { "VersionInfo", "Resources", "Canary", "TypeUrl", "Nonce", });
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_descriptor,
+ new java.lang.String[] { "Node", "TypeUrl", "ResourceNamesSubscribe", "ResourceNamesUnsubscribe", "InitialResourceVersions", "ResponseNonce", "ErrorDetail", });
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_InitialResourceVersionsEntry_descriptor =
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_InitialResourceVersionsEntry_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_IncrementalDiscoveryRequest_InitialResourceVersionsEntry_descriptor,
+ new java.lang.String[] { "Key", "Value", });
+ internal_static_envoy_api_v2_IncrementalDiscoveryResponse_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_envoy_api_v2_IncrementalDiscoveryResponse_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_IncrementalDiscoveryResponse_descriptor,
+ new java.lang.String[] { "SystemVersionInfo", "Resources", "RemovedResources", "Nonce", });
+ internal_static_envoy_api_v2_Resource_descriptor =
+ getDescriptor().getMessageTypes().get(4);
+ internal_static_envoy_api_v2_Resource_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_Resource_descriptor,
+ new java.lang.String[] { "Version", "Resource", });
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ com.google.protobuf.AnyProto.getDescriptor();
+ com.google.rpc.StatusProto.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryRequest.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryRequest.java
new file mode 100644
index 000000000..4f485727c
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryRequest.java
@@ -0,0 +1,1734 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * <pre>
+ * A DiscoveryRequest requests a set of versioned resources of the same type for
+ * a given Envoy node on some API.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.DiscoveryRequest}
+ */
+public final class DiscoveryRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.DiscoveryRequest)
+ DiscoveryRequestOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use DiscoveryRequest.newBuilder() to construct.
+ private DiscoveryRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DiscoveryRequest() {
+ versionInfo_ = "";
+ resourceNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ typeUrl_ = "";
+ responseNonce_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DiscoveryRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ versionInfo_ = s;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder subBuilder = null;
+ if (node_ != null) {
+ subBuilder = node_.toBuilder();
+ }
+ node_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Node.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(node_);
+ node_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ resourceNames_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ resourceNames_.add(s);
+ break;
+ }
+ case 34: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ typeUrl_ = s;
+ break;
+ }
+ case 42: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ responseNonce_ = s;
+ break;
+ }
+ case 50: {
+ com.google.rpc.Status.Builder subBuilder = null;
+ if (errorDetail_ != null) {
+ subBuilder = errorDetail_.toBuilder();
+ }
+ errorDetail_ = input.readMessage(com.google.rpc.Status.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(errorDetail_);
+ errorDetail_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ resourceNames_ = resourceNames_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.class, io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int VERSION_INFO_FIELD_NUMBER = 1;
+ private volatile java.lang.Object versionInfo_;
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public java.lang.String getVersionInfo() {
+ java.lang.Object ref = versionInfo_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ versionInfo_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVersionInfoBytes() {
+ java.lang.Object ref = versionInfo_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ versionInfo_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int NODE_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Node node_;
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public boolean hasNode() {
+ return node_ != null;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node getNode() {
+ return node_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Node.getDefaultInstance() : node_;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder getNodeOrBuilder() {
+ return getNode();
+ }
+
+ public static final int RESOURCE_NAMES_FIELD_NUMBER = 3;
+ private com.google.protobuf.LazyStringList resourceNames_;
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getResourceNamesList() {
+ return resourceNames_;
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public int getResourceNamesCount() {
+ return resourceNames_.size();
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public java.lang.String getResourceNames(int index) {
+ return resourceNames_.get(index);
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResourceNamesBytes(int index) {
+ return resourceNames_.getByteString(index);
+ }
+
+ public static final int TYPE_URL_FIELD_NUMBER = 4;
+ private volatile java.lang.Object typeUrl_;
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public java.lang.String getTypeUrl() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ typeUrl_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeUrlBytes() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ typeUrl_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int RESPONSE_NONCE_FIELD_NUMBER = 5;
+ private volatile java.lang.Object responseNonce_;
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ public java.lang.String getResponseNonce() {
+ java.lang.Object ref = responseNonce_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ responseNonce_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResponseNonceBytes() {
+ java.lang.Object ref = responseNonce_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ responseNonce_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ERROR_DETAIL_FIELD_NUMBER = 6;
+ private com.google.rpc.Status errorDetail_;
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public boolean hasErrorDetail() {
+ return errorDetail_ != null;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public com.google.rpc.Status getErrorDetail() {
+ return errorDetail_ == null ? com.google.rpc.Status.getDefaultInstance() : errorDetail_;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public com.google.rpc.StatusOrBuilder getErrorDetailOrBuilder() {
+ return getErrorDetail();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getVersionInfoBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, versionInfo_);
+ }
+ if (node_ != null) {
+ output.writeMessage(2, getNode());
+ }
+ for (int i = 0; i < resourceNames_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, resourceNames_.getRaw(i));
+ }
+ if (!getTypeUrlBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, typeUrl_);
+ }
+ if (!getResponseNonceBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 5, responseNonce_);
+ }
+ if (errorDetail_ != null) {
+ output.writeMessage(6, getErrorDetail());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getVersionInfoBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, versionInfo_);
+ }
+ if (node_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getNode());
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < resourceNames_.size(); i++) {
+ dataSize += computeStringSizeNoTag(resourceNames_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getResourceNamesList().size();
+ }
+ if (!getTypeUrlBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, typeUrl_);
+ }
+ if (!getResponseNonceBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, responseNonce_);
+ }
+ if (errorDetail_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getErrorDetail());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest other = (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest) obj;
+
+ boolean result = true;
+ result = result && getVersionInfo()
+ .equals(other.getVersionInfo());
+ result = result && (hasNode() == other.hasNode());
+ if (hasNode()) {
+ result = result && getNode()
+ .equals(other.getNode());
+ }
+ result = result && getResourceNamesList()
+ .equals(other.getResourceNamesList());
+ result = result && getTypeUrl()
+ .equals(other.getTypeUrl());
+ result = result && getResponseNonce()
+ .equals(other.getResponseNonce());
+ result = result && (hasErrorDetail() == other.hasErrorDetail());
+ if (hasErrorDetail()) {
+ result = result && getErrorDetail()
+ .equals(other.getErrorDetail());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + VERSION_INFO_FIELD_NUMBER;
+ hash = (53 * hash) + getVersionInfo().hashCode();
+ if (hasNode()) {
+ hash = (37 * hash) + NODE_FIELD_NUMBER;
+ hash = (53 * hash) + getNode().hashCode();
+ }
+ if (getResourceNamesCount() > 0) {
+ hash = (37 * hash) + RESOURCE_NAMES_FIELD_NUMBER;
+ hash = (53 * hash) + getResourceNamesList().hashCode();
+ }
+ hash = (37 * hash) + TYPE_URL_FIELD_NUMBER;
+ hash = (53 * hash) + getTypeUrl().hashCode();
+ hash = (37 * hash) + RESPONSE_NONCE_FIELD_NUMBER;
+ hash = (53 * hash) + getResponseNonce().hashCode();
+ if (hasErrorDetail()) {
+ hash = (37 * hash) + ERROR_DETAIL_FIELD_NUMBER;
+ hash = (53 * hash) + getErrorDetail().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * A DiscoveryRequest requests a set of versioned resources of the same type for
+ * a given Envoy node on some API.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.DiscoveryRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.DiscoveryRequest)
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryRequest_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.class, io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ versionInfo_ = "";
+
+ if (nodeBuilder_ == null) {
+ node_ = null;
+ } else {
+ node_ = null;
+ nodeBuilder_ = null;
+ }
+ resourceNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ typeUrl_ = "";
+
+ responseNonce_ = "";
+
+ if (errorDetailBuilder_ == null) {
+ errorDetail_ = null;
+ } else {
+ errorDetail_ = null;
+ errorDetailBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryRequest_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest build() {
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest result = new io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.versionInfo_ = versionInfo_;
+ if (nodeBuilder_ == null) {
+ result.node_ = node_;
+ } else {
+ result.node_ = nodeBuilder_.build();
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ resourceNames_ = resourceNames_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.resourceNames_ = resourceNames_;
+ result.typeUrl_ = typeUrl_;
+ result.responseNonce_ = responseNonce_;
+ if (errorDetailBuilder_ == null) {
+ result.errorDetail_ = errorDetail_;
+ } else {
+ result.errorDetail_ = errorDetailBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance()) return this;
+ if (!other.getVersionInfo().isEmpty()) {
+ versionInfo_ = other.versionInfo_;
+ onChanged();
+ }
+ if (other.hasNode()) {
+ mergeNode(other.getNode());
+ }
+ if (!other.resourceNames_.isEmpty()) {
+ if (resourceNames_.isEmpty()) {
+ resourceNames_ = other.resourceNames_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureResourceNamesIsMutable();
+ resourceNames_.addAll(other.resourceNames_);
+ }
+ onChanged();
+ }
+ if (!other.getTypeUrl().isEmpty()) {
+ typeUrl_ = other.typeUrl_;
+ onChanged();
+ }
+ if (!other.getResponseNonce().isEmpty()) {
+ responseNonce_ = other.responseNonce_;
+ onChanged();
+ }
+ if (other.hasErrorDetail()) {
+ mergeErrorDetail(other.getErrorDetail());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object versionInfo_ = "";
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public java.lang.String getVersionInfo() {
+ java.lang.Object ref = versionInfo_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ versionInfo_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVersionInfoBytes() {
+ java.lang.Object ref = versionInfo_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ versionInfo_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public Builder setVersionInfo(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ versionInfo_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public Builder clearVersionInfo() {
+
+ versionInfo_ = getDefaultInstance().getVersionInfo();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public Builder setVersionInfoBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ versionInfo_ = value;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Node node_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Node, io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder, io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder> nodeBuilder_;
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public boolean hasNode() {
+ return nodeBuilder_ != null || node_ != null;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node getNode() {
+ if (nodeBuilder_ == null) {
+ return node_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Node.getDefaultInstance() : node_;
+ } else {
+ return nodeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public Builder setNode(io.grpc.xds.shaded.envoy.api.v2.core.Node value) {
+ if (nodeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ node_ = value;
+ onChanged();
+ } else {
+ nodeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public Builder setNode(
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder builderForValue) {
+ if (nodeBuilder_ == null) {
+ node_ = builderForValue.build();
+ onChanged();
+ } else {
+ nodeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public Builder mergeNode(io.grpc.xds.shaded.envoy.api.v2.core.Node value) {
+ if (nodeBuilder_ == null) {
+ if (node_ != null) {
+ node_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.newBuilder(node_).mergeFrom(value).buildPartial();
+ } else {
+ node_ = value;
+ }
+ onChanged();
+ } else {
+ nodeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public Builder clearNode() {
+ if (nodeBuilder_ == null) {
+ node_ = null;
+ onChanged();
+ } else {
+ node_ = null;
+ nodeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder getNodeBuilder() {
+
+ onChanged();
+ return getNodeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder getNodeOrBuilder() {
+ if (nodeBuilder_ != null) {
+ return nodeBuilder_.getMessageOrBuilder();
+ } else {
+ return node_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.getDefaultInstance() : node_;
+ }
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Node, io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder, io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder>
+ getNodeFieldBuilder() {
+ if (nodeBuilder_ == null) {
+ nodeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Node, io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder, io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder>(
+ getNode(),
+ getParentForChildren(),
+ isClean());
+ node_ = null;
+ }
+ return nodeBuilder_;
+ }
+
+ private com.google.protobuf.LazyStringList resourceNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureResourceNamesIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ resourceNames_ = new com.google.protobuf.LazyStringArrayList(resourceNames_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getResourceNamesList() {
+ return resourceNames_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public int getResourceNamesCount() {
+ return resourceNames_.size();
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public java.lang.String getResourceNames(int index) {
+ return resourceNames_.get(index);
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResourceNamesBytes(int index) {
+ return resourceNames_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public Builder setResourceNames(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourceNamesIsMutable();
+ resourceNames_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public Builder addResourceNames(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourceNamesIsMutable();
+ resourceNames_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public Builder addAllResourceNames(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureResourceNamesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, resourceNames_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public Builder clearResourceNames() {
+ resourceNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ public Builder addResourceNamesBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureResourceNamesIsMutable();
+ resourceNames_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object typeUrl_ = "";
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public java.lang.String getTypeUrl() {
+ java.lang.Object ref = typeUrl_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ typeUrl_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeUrlBytes() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ typeUrl_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public Builder setTypeUrl(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ typeUrl_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public Builder clearTypeUrl() {
+
+ typeUrl_ = getDefaultInstance().getTypeUrl();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public Builder setTypeUrlBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ typeUrl_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object responseNonce_ = "";
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ public java.lang.String getResponseNonce() {
+ java.lang.Object ref = responseNonce_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ responseNonce_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResponseNonceBytes() {
+ java.lang.Object ref = responseNonce_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ responseNonce_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ public Builder setResponseNonce(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ responseNonce_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ public Builder clearResponseNonce() {
+
+ responseNonce_ = getDefaultInstance().getResponseNonce();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ public Builder setResponseNonceBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ responseNonce_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.rpc.Status errorDetail_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.rpc.Status, com.google.rpc.Status.Builder, com.google.rpc.StatusOrBuilder> errorDetailBuilder_;
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public boolean hasErrorDetail() {
+ return errorDetailBuilder_ != null || errorDetail_ != null;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public com.google.rpc.Status getErrorDetail() {
+ if (errorDetailBuilder_ == null) {
+ return errorDetail_ == null ? com.google.rpc.Status.getDefaultInstance() : errorDetail_;
+ } else {
+ return errorDetailBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public Builder setErrorDetail(com.google.rpc.Status value) {
+ if (errorDetailBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ errorDetail_ = value;
+ onChanged();
+ } else {
+ errorDetailBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public Builder setErrorDetail(
+ com.google.rpc.Status.Builder builderForValue) {
+ if (errorDetailBuilder_ == null) {
+ errorDetail_ = builderForValue.build();
+ onChanged();
+ } else {
+ errorDetailBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public Builder mergeErrorDetail(com.google.rpc.Status value) {
+ if (errorDetailBuilder_ == null) {
+ if (errorDetail_ != null) {
+ errorDetail_ =
+ com.google.rpc.Status.newBuilder(errorDetail_).mergeFrom(value).buildPartial();
+ } else {
+ errorDetail_ = value;
+ }
+ onChanged();
+ } else {
+ errorDetailBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public Builder clearErrorDetail() {
+ if (errorDetailBuilder_ == null) {
+ errorDetail_ = null;
+ onChanged();
+ } else {
+ errorDetail_ = null;
+ errorDetailBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public com.google.rpc.Status.Builder getErrorDetailBuilder() {
+
+ onChanged();
+ return getErrorDetailFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ public com.google.rpc.StatusOrBuilder getErrorDetailOrBuilder() {
+ if (errorDetailBuilder_ != null) {
+ return errorDetailBuilder_.getMessageOrBuilder();
+ } else {
+ return errorDetail_ == null ?
+ com.google.rpc.Status.getDefaultInstance() : errorDetail_;
+ }
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.rpc.Status, com.google.rpc.Status.Builder, com.google.rpc.StatusOrBuilder>
+ getErrorDetailFieldBuilder() {
+ if (errorDetailBuilder_ == null) {
+ errorDetailBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.rpc.Status, com.google.rpc.Status.Builder, com.google.rpc.StatusOrBuilder>(
+ getErrorDetail(),
+ getParentForChildren(),
+ isClean());
+ errorDetail_ = null;
+ }
+ return errorDetailBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.DiscoveryRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.DiscoveryRequest)
+ private static final io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DiscoveryRequest>
+ PARSER = new com.google.protobuf.AbstractParser<DiscoveryRequest>() {
+ public DiscoveryRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DiscoveryRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DiscoveryRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DiscoveryRequest> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryRequestOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryRequestOrBuilder.java
new file mode 100644
index 000000000..56bd755b4
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryRequestOrBuilder.java
@@ -0,0 +1,201 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface DiscoveryRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.DiscoveryRequest)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ java.lang.String getVersionInfo();
+ /**
+ * <pre>
+ * The version_info provided in the request messages will be the version_info
+ * received with the most recent successfully processed response or empty on
+ * the first request. It is expected that no new request is sent after a
+ * response is received until the Envoy instance is ready to ACK/NACK the new
+ * configuration. ACK/NACK takes place by returning the new API config version
+ * as applied or the previous API config version respectively. Each type_url
+ * (see below) has an independent version associated with it.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getVersionInfoBytes();
+
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ boolean hasNode();
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Node getNode();
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder getNodeOrBuilder();
+
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ java.util.List<java.lang.String>
+ getResourceNamesList();
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ int getResourceNamesCount();
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ java.lang.String getResourceNames(int index);
+ /**
+ * <pre>
+ * List of resources to subscribe to, e.g. list of cluster names or a route
+ * configuration name. If this is empty, all resources for the API are
+ * returned. LDS/CDS expect empty resource_names, since this is global
+ * discovery for the Envoy instance. The LDS and CDS responses will then imply
+ * a number of resources that need to be fetched via EDS/RDS, which will be
+ * explicitly enumerated in resource_names.
+ * </pre>
+ *
+ * <code>repeated string resource_names = 3;</code>
+ */
+ com.google.protobuf.ByteString
+ getResourceNamesBytes(int index);
+
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ java.lang.String getTypeUrl();
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ com.google.protobuf.ByteString
+ getTypeUrlBytes();
+
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ java.lang.String getResponseNonce();
+ /**
+ * <pre>
+ * nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ * discussion on version_info and the DiscoveryResponse nonce comment. This
+ * may be empty if no nonce is available, e.g. at startup or for non-stream
+ * xDS implementations.
+ * </pre>
+ *
+ * <code>string response_nonce = 5;</code>
+ */
+ com.google.protobuf.ByteString
+ getResponseNonceBytes();
+
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ boolean hasErrorDetail();
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ com.google.rpc.Status getErrorDetail();
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details* provides the Envoy
+ * internal exception related to the failure. It is only intended for consumption during manual
+ * debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 6;</code>
+ */
+ com.google.rpc.StatusOrBuilder getErrorDetailOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryResponse.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryResponse.java
new file mode 100644
index 000000000..b33af47fc
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryResponse.java
@@ -0,0 +1,1480 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * Protobuf type {@code envoy.api.v2.DiscoveryResponse}
+ */
+public final class DiscoveryResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.DiscoveryResponse)
+ DiscoveryResponseOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use DiscoveryResponse.newBuilder() to construct.
+ private DiscoveryResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DiscoveryResponse() {
+ versionInfo_ = "";
+ resources_ = java.util.Collections.emptyList();
+ canary_ = false;
+ typeUrl_ = "";
+ nonce_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DiscoveryResponse(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ versionInfo_ = s;
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ resources_ = new java.util.ArrayList<com.google.protobuf.Any>();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ resources_.add(
+ input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry));
+ break;
+ }
+ case 24: {
+
+ canary_ = input.readBool();
+ break;
+ }
+ case 34: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ typeUrl_ = s;
+ break;
+ }
+ case 42: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ nonce_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ resources_ = java.util.Collections.unmodifiableList(resources_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int VERSION_INFO_FIELD_NUMBER = 1;
+ private volatile java.lang.Object versionInfo_;
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public java.lang.String getVersionInfo() {
+ java.lang.Object ref = versionInfo_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ versionInfo_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVersionInfoBytes() {
+ java.lang.Object ref = versionInfo_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ versionInfo_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int RESOURCES_FIELD_NUMBER = 2;
+ private java.util.List<com.google.protobuf.Any> resources_;
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public java.util.List<com.google.protobuf.Any> getResourcesList() {
+ return resources_;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public java.util.List<? extends com.google.protobuf.AnyOrBuilder>
+ getResourcesOrBuilderList() {
+ return resources_;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public int getResourcesCount() {
+ return resources_.size();
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public com.google.protobuf.Any getResources(int index) {
+ return resources_.get(index);
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getResourcesOrBuilder(
+ int index) {
+ return resources_.get(index);
+ }
+
+ public static final int CANARY_FIELD_NUMBER = 3;
+ private boolean canary_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * Canary is used to support two Envoy command line flags:
+ * * --terminate-on-canary-transition-failure. When set, Envoy is able to
+ * terminate if it detects that configuration is stuck at canary. Consider
+ * this example sequence of updates:
+ * - Management server applies a canary config successfully.
+ * - Management server rolls back to a production config.
+ * - Envoy rejects the new production config.
+ * Since there is no sensible way to continue receiving configuration
+ * updates, Envoy will then terminate and apply production config from a
+ * clean slate.
+ * * --dry-run-canary. When set, a canary response will never be applied, only
+ * validated via a dry run.
+ * </pre>
+ *
+ * <code>bool canary = 3;</code>
+ */
+ public boolean getCanary() {
+ return canary_;
+ }
+
+ public static final int TYPE_URL_FIELD_NUMBER = 4;
+ private volatile java.lang.Object typeUrl_;
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public java.lang.String getTypeUrl() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ typeUrl_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeUrlBytes() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ typeUrl_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int NONCE_FIELD_NUMBER = 5;
+ private volatile java.lang.Object nonce_;
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public java.lang.String getNonce() {
+ java.lang.Object ref = nonce_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ nonce_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNonceBytes() {
+ java.lang.Object ref = nonce_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ nonce_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getVersionInfoBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, versionInfo_);
+ }
+ for (int i = 0; i < resources_.size(); i++) {
+ output.writeMessage(2, resources_.get(i));
+ }
+ if (canary_ != false) {
+ output.writeBool(3, canary_);
+ }
+ if (!getTypeUrlBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, typeUrl_);
+ }
+ if (!getNonceBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 5, nonce_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getVersionInfoBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, versionInfo_);
+ }
+ for (int i = 0; i < resources_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, resources_.get(i));
+ }
+ if (canary_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(3, canary_);
+ }
+ if (!getTypeUrlBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, typeUrl_);
+ }
+ if (!getNonceBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, nonce_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse other = (io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse) obj;
+
+ boolean result = true;
+ result = result && getVersionInfo()
+ .equals(other.getVersionInfo());
+ result = result && getResourcesList()
+ .equals(other.getResourcesList());
+ result = result && (getCanary()
+ == other.getCanary());
+ result = result && getTypeUrl()
+ .equals(other.getTypeUrl());
+ result = result && getNonce()
+ .equals(other.getNonce());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + VERSION_INFO_FIELD_NUMBER;
+ hash = (53 * hash) + getVersionInfo().hashCode();
+ if (getResourcesCount() > 0) {
+ hash = (37 * hash) + RESOURCES_FIELD_NUMBER;
+ hash = (53 * hash) + getResourcesList().hashCode();
+ }
+ hash = (37 * hash) + CANARY_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getCanary());
+ hash = (37 * hash) + TYPE_URL_FIELD_NUMBER;
+ hash = (53 * hash) + getTypeUrl().hashCode();
+ hash = (37 * hash) + NONCE_FIELD_NUMBER;
+ hash = (53 * hash) + getNonce().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.DiscoveryResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.DiscoveryResponse)
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class, io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getResourcesFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ versionInfo_ = "";
+
+ if (resourcesBuilder_ == null) {
+ resources_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ resourcesBuilder_.clear();
+ }
+ canary_ = false;
+
+ typeUrl_ = "";
+
+ nonce_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_DiscoveryResponse_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse build() {
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse result = new io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.versionInfo_ = versionInfo_;
+ if (resourcesBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ resources_ = java.util.Collections.unmodifiableList(resources_);
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.resources_ = resources_;
+ } else {
+ result.resources_ = resourcesBuilder_.build();
+ }
+ result.canary_ = canary_;
+ result.typeUrl_ = typeUrl_;
+ result.nonce_ = nonce_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()) return this;
+ if (!other.getVersionInfo().isEmpty()) {
+ versionInfo_ = other.versionInfo_;
+ onChanged();
+ }
+ if (resourcesBuilder_ == null) {
+ if (!other.resources_.isEmpty()) {
+ if (resources_.isEmpty()) {
+ resources_ = other.resources_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureResourcesIsMutable();
+ resources_.addAll(other.resources_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.resources_.isEmpty()) {
+ if (resourcesBuilder_.isEmpty()) {
+ resourcesBuilder_.dispose();
+ resourcesBuilder_ = null;
+ resources_ = other.resources_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ resourcesBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getResourcesFieldBuilder() : null;
+ } else {
+ resourcesBuilder_.addAllMessages(other.resources_);
+ }
+ }
+ }
+ if (other.getCanary() != false) {
+ setCanary(other.getCanary());
+ }
+ if (!other.getTypeUrl().isEmpty()) {
+ typeUrl_ = other.typeUrl_;
+ onChanged();
+ }
+ if (!other.getNonce().isEmpty()) {
+ nonce_ = other.nonce_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object versionInfo_ = "";
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public java.lang.String getVersionInfo() {
+ java.lang.Object ref = versionInfo_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ versionInfo_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVersionInfoBytes() {
+ java.lang.Object ref = versionInfo_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ versionInfo_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public Builder setVersionInfo(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ versionInfo_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public Builder clearVersionInfo() {
+
+ versionInfo_ = getDefaultInstance().getVersionInfo();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ public Builder setVersionInfoBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ versionInfo_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<com.google.protobuf.Any> resources_ =
+ java.util.Collections.emptyList();
+ private void ensureResourcesIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ resources_ = new java.util.ArrayList<com.google.protobuf.Any>(resources_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> resourcesBuilder_;
+
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public java.util.List<com.google.protobuf.Any> getResourcesList() {
+ if (resourcesBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(resources_);
+ } else {
+ return resourcesBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public int getResourcesCount() {
+ if (resourcesBuilder_ == null) {
+ return resources_.size();
+ } else {
+ return resourcesBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public com.google.protobuf.Any getResources(int index) {
+ if (resourcesBuilder_ == null) {
+ return resources_.get(index);
+ } else {
+ return resourcesBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder setResources(
+ int index, com.google.protobuf.Any value) {
+ if (resourcesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourcesIsMutable();
+ resources_.set(index, value);
+ onChanged();
+ } else {
+ resourcesBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder setResources(
+ int index, com.google.protobuf.Any.Builder builderForValue) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ resources_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ resourcesBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder addResources(com.google.protobuf.Any value) {
+ if (resourcesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourcesIsMutable();
+ resources_.add(value);
+ onChanged();
+ } else {
+ resourcesBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder addResources(
+ int index, com.google.protobuf.Any value) {
+ if (resourcesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourcesIsMutable();
+ resources_.add(index, value);
+ onChanged();
+ } else {
+ resourcesBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder addResources(
+ com.google.protobuf.Any.Builder builderForValue) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ resources_.add(builderForValue.build());
+ onChanged();
+ } else {
+ resourcesBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder addResources(
+ int index, com.google.protobuf.Any.Builder builderForValue) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ resources_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ resourcesBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder addAllResources(
+ java.lang.Iterable<? extends com.google.protobuf.Any> values) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, resources_);
+ onChanged();
+ } else {
+ resourcesBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder clearResources() {
+ if (resourcesBuilder_ == null) {
+ resources_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ resourcesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public Builder removeResources(int index) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ resources_.remove(index);
+ onChanged();
+ } else {
+ resourcesBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public com.google.protobuf.Any.Builder getResourcesBuilder(
+ int index) {
+ return getResourcesFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getResourcesOrBuilder(
+ int index) {
+ if (resourcesBuilder_ == null) {
+ return resources_.get(index); } else {
+ return resourcesBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public java.util.List<? extends com.google.protobuf.AnyOrBuilder>
+ getResourcesOrBuilderList() {
+ if (resourcesBuilder_ != null) {
+ return resourcesBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(resources_);
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public com.google.protobuf.Any.Builder addResourcesBuilder() {
+ return getResourcesFieldBuilder().addBuilder(
+ com.google.protobuf.Any.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public com.google.protobuf.Any.Builder addResourcesBuilder(
+ int index) {
+ return getResourcesFieldBuilder().addBuilder(
+ index, com.google.protobuf.Any.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ public java.util.List<com.google.protobuf.Any.Builder>
+ getResourcesBuilderList() {
+ return getResourcesFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>
+ getResourcesFieldBuilder() {
+ if (resourcesBuilder_ == null) {
+ resourcesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
+ resources_,
+ ((bitField0_ & 0x00000002) == 0x00000002),
+ getParentForChildren(),
+ isClean());
+ resources_ = null;
+ }
+ return resourcesBuilder_;
+ }
+
+ private boolean canary_ ;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * Canary is used to support two Envoy command line flags:
+ * * --terminate-on-canary-transition-failure. When set, Envoy is able to
+ * terminate if it detects that configuration is stuck at canary. Consider
+ * this example sequence of updates:
+ * - Management server applies a canary config successfully.
+ * - Management server rolls back to a production config.
+ * - Envoy rejects the new production config.
+ * Since there is no sensible way to continue receiving configuration
+ * updates, Envoy will then terminate and apply production config from a
+ * clean slate.
+ * * --dry-run-canary. When set, a canary response will never be applied, only
+ * validated via a dry run.
+ * </pre>
+ *
+ * <code>bool canary = 3;</code>
+ */
+ public boolean getCanary() {
+ return canary_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * Canary is used to support two Envoy command line flags:
+ * * --terminate-on-canary-transition-failure. When set, Envoy is able to
+ * terminate if it detects that configuration is stuck at canary. Consider
+ * this example sequence of updates:
+ * - Management server applies a canary config successfully.
+ * - Management server rolls back to a production config.
+ * - Envoy rejects the new production config.
+ * Since there is no sensible way to continue receiving configuration
+ * updates, Envoy will then terminate and apply production config from a
+ * clean slate.
+ * * --dry-run-canary. When set, a canary response will never be applied, only
+ * validated via a dry run.
+ * </pre>
+ *
+ * <code>bool canary = 3;</code>
+ */
+ public Builder setCanary(boolean value) {
+
+ canary_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * Canary is used to support two Envoy command line flags:
+ * * --terminate-on-canary-transition-failure. When set, Envoy is able to
+ * terminate if it detects that configuration is stuck at canary. Consider
+ * this example sequence of updates:
+ * - Management server applies a canary config successfully.
+ * - Management server rolls back to a production config.
+ * - Envoy rejects the new production config.
+ * Since there is no sensible way to continue receiving configuration
+ * updates, Envoy will then terminate and apply production config from a
+ * clean slate.
+ * * --dry-run-canary. When set, a canary response will never be applied, only
+ * validated via a dry run.
+ * </pre>
+ *
+ * <code>bool canary = 3;</code>
+ */
+ public Builder clearCanary() {
+
+ canary_ = false;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object typeUrl_ = "";
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public java.lang.String getTypeUrl() {
+ java.lang.Object ref = typeUrl_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ typeUrl_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeUrlBytes() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ typeUrl_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public Builder setTypeUrl(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ typeUrl_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public Builder clearTypeUrl() {
+
+ typeUrl_ = getDefaultInstance().getTypeUrl();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ public Builder setTypeUrlBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ typeUrl_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object nonce_ = "";
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public java.lang.String getNonce() {
+ java.lang.Object ref = nonce_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ nonce_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNonceBytes() {
+ java.lang.Object ref = nonce_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ nonce_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public Builder setNonce(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ nonce_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public Builder clearNonce() {
+
+ nonce_ = getDefaultInstance().getNonce();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public Builder setNonceBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ nonce_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.DiscoveryResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.DiscoveryResponse)
+ private static final io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DiscoveryResponse>
+ PARSER = new com.google.protobuf.AbstractParser<DiscoveryResponse>() {
+ public DiscoveryResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DiscoveryResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DiscoveryResponse> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DiscoveryResponse> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryResponseOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryResponseOrBuilder.java
new file mode 100644
index 000000000..69d8edaa3
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/DiscoveryResponseOrBuilder.java
@@ -0,0 +1,146 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface DiscoveryResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.DiscoveryResponse)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ java.lang.String getVersionInfo();
+ /**
+ * <pre>
+ * The version of the response data.
+ * </pre>
+ *
+ * <code>string version_info = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getVersionInfoBytes();
+
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ java.util.List<com.google.protobuf.Any>
+ getResourcesList();
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ com.google.protobuf.Any getResources(int index);
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ int getResourcesCount();
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ java.util.List<? extends com.google.protobuf.AnyOrBuilder>
+ getResourcesOrBuilderList();
+ /**
+ * <pre>
+ * The response resources. These resources are typed and depend on the API being called.
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Any resources = 2;</code>
+ */
+ com.google.protobuf.AnyOrBuilder getResourcesOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * Canary is used to support two Envoy command line flags:
+ * * --terminate-on-canary-transition-failure. When set, Envoy is able to
+ * terminate if it detects that configuration is stuck at canary. Consider
+ * this example sequence of updates:
+ * - Management server applies a canary config successfully.
+ * - Management server rolls back to a production config.
+ * - Envoy rejects the new production config.
+ * Since there is no sensible way to continue receiving configuration
+ * updates, Envoy will then terminate and apply production config from a
+ * clean slate.
+ * * --dry-run-canary. When set, a canary response will never be applied, only
+ * validated via a dry run.
+ * </pre>
+ *
+ * <code>bool canary = 3;</code>
+ */
+ boolean getCanary();
+
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ java.lang.String getTypeUrl();
+ /**
+ * <pre>
+ * Type URL for resources. This must be consistent with the type_url in the
+ * Any messages for resources if resources is non-empty. This effectively
+ * identifies the xDS API when muxing over ADS.
+ * </pre>
+ *
+ * <code>string type_url = 4;</code>
+ */
+ com.google.protobuf.ByteString
+ getTypeUrlBytes();
+
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ java.lang.String getNonce();
+ /**
+ * <pre>
+ * For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ * specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ * messages may have been sent by Envoy to the management server for the
+ * previous version on the stream prior to this DiscoveryResponse, that were
+ * unprocessed at response send time. The nonce allows the management server
+ * to ignore any further DiscoveryRequests for the previous version until a
+ * DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ * required for non-stream based xDS implementations.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ com.google.protobuf.ByteString
+ getNonceBytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Eds.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Eds.java
new file mode 100644
index 000000000..57beec2cc
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Eds.java
@@ -0,0 +1,117 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/eds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public final class Eds {
+ private Eds() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_ClusterLoadAssignment_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_ClusterLoadAssignment_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\026envoy/api/v2/eds.proto\022\014envoy.api.v2\032\034" +
+ "envoy/api/v2/discovery.proto\032$envoy/api/" +
+ "v2/endpoint/endpoint.proto\032\030envoy/type/p" +
+ "ercent.proto\032\034google/api/annotations.pro" +
+ "to\032\027validate/validate.proto\032\036google/prot" +
+ "obuf/wrappers.proto\"\304\003\n\025ClusterLoadAssig" +
+ "nment\022\037\n\014cluster_name\030\001 \001(\tB\t\272\351\300\003\004r\002 \001\022=" +
+ "\n\tendpoints\030\002 \003(\0132*.envoy.api.v2.endpoin" +
+ "t.LocalityLbEndpoints\022:\n\006policy\030\004 \001(\0132*." +
+ "envoy.api.v2.ClusterLoadAssignment.Polic" +
+ "y\032\216\002\n\006Policy\022O\n\016drop_overloads\030\002 \003(\01327.e" +
+ "nvoy.api.v2.ClusterLoadAssignment.Policy" +
+ ".DropOverload\022H\n\027overprovisioning_factor" +
+ "\030\003 \001(\0132\034.google.protobuf.UInt32ValueB\t\272\351" +
+ "\300\003\004*\002 \000\032c\n\014DropOverload\022\033\n\010category\030\001 \001(" +
+ "\tB\t\272\351\300\003\004r\002 \001\0226\n\017drop_percentage\030\002 \001(\0132\035." +
+ "envoy.type.FractionalPercentJ\004\010\001\020\0022\353\001\n\030E" +
+ "ndpointDiscoveryService\022X\n\017StreamEndpoin" +
+ "ts\022\036.envoy.api.v2.DiscoveryRequest\032\037.env" +
+ "oy.api.v2.DiscoveryResponse\"\000(\0010\001\022u\n\016Fet" +
+ "chEndpoints\022\036.envoy.api.v2.DiscoveryRequ" +
+ "est\032\037.envoy.api.v2.DiscoveryResponse\"\"\202\323" +
+ "\344\223\002\034\"\027/v2/discovery:endpoints:\001*B&\n\037io.g" +
+ "rpc.xds.shaded.envoy.api.v2P\001\210\001\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.Discovery.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.getDescriptor(),
+ io.grpc.xds.shaded.envoy.type.PercentOuterClass.getDescriptor(),
+ com.google.api.AnnotationsProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_ClusterLoadAssignment_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_ClusterLoadAssignment_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_ClusterLoadAssignment_descriptor,
+ new java.lang.String[] { "ClusterName", "Endpoints", "Policy", });
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_descriptor =
+ internal_static_envoy_api_v2_ClusterLoadAssignment_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_descriptor,
+ new java.lang.String[] { "DropOverloads", "OverprovisioningFactor", });
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_descriptor =
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_ClusterLoadAssignment_Policy_DropOverload_descriptor,
+ new java.lang.String[] { "Category", "DropPercentage", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(com.google.api.AnnotationsProto.http);
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.Discovery.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.getDescriptor();
+ io.grpc.xds.shaded.envoy.type.PercentOuterClass.getDescriptor();
+ com.google.api.AnnotationsProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/EndpointDiscoveryService.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/EndpointDiscoveryService.java
new file mode 100644
index 000000000..86728a79a
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/EndpointDiscoveryService.java
@@ -0,0 +1,318 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/eds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * Protobuf service {@code envoy.api.v2.EndpointDiscoveryService}
+ */
+public abstract class EndpointDiscoveryService
+ implements com.google.protobuf.Service {
+ protected EndpointDiscoveryService() {}
+
+ public interface Interface {
+ /**
+ * <pre>
+ * The resource_names field in DiscoveryRequest specifies a list of clusters
+ * to subscribe to updates for.
+ * </pre>
+ *
+ * <code>rpc StreamEndpoints(stream .envoy.api.v2.DiscoveryRequest) returns (stream .envoy.api.v2.DiscoveryResponse);</code>
+ */
+ public abstract void streamEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done);
+
+ /**
+ * <code>rpc FetchEndpoints(.envoy.api.v2.DiscoveryRequest) returns (.envoy.api.v2.DiscoveryResponse) { ... }</code>
+ */
+ public abstract void fetchEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done);
+
+ }
+
+ public static com.google.protobuf.Service newReflectiveService(
+ final Interface impl) {
+ return new EndpointDiscoveryService() {
+ @java.lang.Override
+ public void streamEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done) {
+ impl.streamEndpoints(controller, request, done);
+ }
+
+ @java.lang.Override
+ public void fetchEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done) {
+ impl.fetchEndpoints(controller, request, done);
+ }
+
+ };
+ }
+
+ public static com.google.protobuf.BlockingService
+ newReflectiveBlockingService(final BlockingInterface impl) {
+ return new com.google.protobuf.BlockingService() {
+ public final com.google.protobuf.Descriptors.ServiceDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+
+ public final com.google.protobuf.Message callBlockingMethod(
+ com.google.protobuf.Descriptors.MethodDescriptor method,
+ com.google.protobuf.RpcController controller,
+ com.google.protobuf.Message request)
+ throws com.google.protobuf.ServiceException {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.callBlockingMethod() given method descriptor for " +
+ "wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return impl.streamEndpoints(controller, (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)request);
+ case 1:
+ return impl.fetchEndpoints(controller, (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)request);
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public final com.google.protobuf.Message
+ getRequestPrototype(
+ com.google.protobuf.Descriptors.MethodDescriptor method) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.getRequestPrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ case 1:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public final com.google.protobuf.Message
+ getResponsePrototype(
+ com.google.protobuf.Descriptors.MethodDescriptor method) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.getResponsePrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ case 1:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ };
+ }
+
+ /**
+ * <pre>
+ * The resource_names field in DiscoveryRequest specifies a list of clusters
+ * to subscribe to updates for.
+ * </pre>
+ *
+ * <code>rpc StreamEndpoints(stream .envoy.api.v2.DiscoveryRequest) returns (stream .envoy.api.v2.DiscoveryResponse);</code>
+ */
+ public abstract void streamEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done);
+
+ /**
+ * <code>rpc FetchEndpoints(.envoy.api.v2.DiscoveryRequest) returns (.envoy.api.v2.DiscoveryResponse) { ... }</code>
+ */
+ public abstract void fetchEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done);
+
+ public static final
+ com.google.protobuf.Descriptors.ServiceDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Eds.getDescriptor().getServices().get(0);
+ }
+ public final com.google.protobuf.Descriptors.ServiceDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+
+ public final void callMethod(
+ com.google.protobuf.Descriptors.MethodDescriptor method,
+ com.google.protobuf.RpcController controller,
+ com.google.protobuf.Message request,
+ com.google.protobuf.RpcCallback<
+ com.google.protobuf.Message> done) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.callMethod() given method descriptor for wrong " +
+ "service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ this.streamEndpoints(controller, (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)request,
+ com.google.protobuf.RpcUtil.<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>specializeCallback(
+ done));
+ return;
+ case 1:
+ this.fetchEndpoints(controller, (io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest)request,
+ com.google.protobuf.RpcUtil.<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse>specializeCallback(
+ done));
+ return;
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public final com.google.protobuf.Message
+ getRequestPrototype(
+ com.google.protobuf.Descriptors.MethodDescriptor method) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.getRequestPrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ case 1:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest.getDefaultInstance();
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public final com.google.protobuf.Message
+ getResponsePrototype(
+ com.google.protobuf.Descriptors.MethodDescriptor method) {
+ if (method.getService() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "Service.getResponsePrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.getIndex()) {
+ case 0:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ case 1:
+ return io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance();
+ default:
+ throw new java.lang.AssertionError("Can't get here.");
+ }
+ }
+
+ public static Stub newStub(
+ com.google.protobuf.RpcChannel channel) {
+ return new Stub(channel);
+ }
+
+ public static final class Stub extends io.grpc.xds.shaded.envoy.api.v2.EndpointDiscoveryService implements Interface {
+ private Stub(com.google.protobuf.RpcChannel channel) {
+ this.channel = channel;
+ }
+
+ private final com.google.protobuf.RpcChannel channel;
+
+ public com.google.protobuf.RpcChannel getChannel() {
+ return channel;
+ }
+
+ public void streamEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done) {
+ channel.callMethod(
+ getDescriptor().getMethods().get(0),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance(),
+ com.google.protobuf.RpcUtil.generalizeCallback(
+ done,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()));
+ }
+
+ public void fetchEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request,
+ com.google.protobuf.RpcCallback<io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse> done) {
+ channel.callMethod(
+ getDescriptor().getMethods().get(1),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance(),
+ com.google.protobuf.RpcUtil.generalizeCallback(
+ done,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.class,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance()));
+ }
+ }
+
+ public static BlockingInterface newBlockingStub(
+ com.google.protobuf.BlockingRpcChannel channel) {
+ return new BlockingStub(channel);
+ }
+
+ public interface BlockingInterface {
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse streamEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request)
+ throws com.google.protobuf.ServiceException;
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse fetchEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request)
+ throws com.google.protobuf.ServiceException;
+ }
+
+ private static final class BlockingStub implements BlockingInterface {
+ private BlockingStub(com.google.protobuf.BlockingRpcChannel channel) {
+ this.channel = channel;
+ }
+
+ private final com.google.protobuf.BlockingRpcChannel channel;
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse streamEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request)
+ throws com.google.protobuf.ServiceException {
+ return (io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse) channel.callBlockingMethod(
+ getDescriptor().getMethods().get(0),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance());
+ }
+
+
+ public io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse fetchEndpoints(
+ com.google.protobuf.RpcController controller,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryRequest request)
+ throws com.google.protobuf.ServiceException {
+ return (io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse) channel.callBlockingMethod(
+ getDescriptor().getMethods().get(1),
+ controller,
+ request,
+ io.grpc.xds.shaded.envoy.api.v2.DiscoveryResponse.getDefaultInstance());
+ }
+
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.EndpointDiscoveryService)
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryRequest.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryRequest.java
new file mode 100644
index 000000000..8ec8b739f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryRequest.java
@@ -0,0 +1,2242 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * <pre>
+ * IncrementalDiscoveryRequest and IncrementalDiscoveryResponse are used in a
+ * new gRPC endpoint for Incremental xDS. The feature is not supported for REST
+ * management servers.
+ * With Incremental xDS, the IncrementalDiscoveryResponses do not need to
+ * include a full snapshot of the tracked resources. Instead
+ * IncrementalDiscoveryResponses are a diff to the state of a xDS client.
+ * In Incremental XDS there are per resource versions which allows to track
+ * state at the resource granularity.
+ * An xDS Incremental session is always in the context of a gRPC bidirectional
+ * stream. This allows the xDS server to keep track of the state of xDS clients
+ * connected to it.
+ * In Incremental xDS the nonce field is required and used to pair
+ * IncrementalDiscoveryResponse to a IncrementalDiscoveryRequest ACK or NACK.
+ * Optionaly, a response message level system_version_info is present for
+ * debugging purposes only.
+ * IncrementalDiscoveryRequest can be sent in 3 situations:
+ * 1. Initial message in a xDS bidirectional gRPC stream.
+ * 2. As a ACK or NACK response to a previous IncrementalDiscoveryResponse.
+ * In this case the response_nonce is set to the nonce value in the Response.
+ * ACK or NACK is determined by the absence or presence of error_detail.
+ * 3. Spontaneous IncrementalDiscoveryRequest from the client.
+ * This can be done to dynamically add or remove elements from the tracked
+ * resource_names set. In this case response_nonce must be omitted.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.IncrementalDiscoveryRequest}
+ */
+public final class IncrementalDiscoveryRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.IncrementalDiscoveryRequest)
+ IncrementalDiscoveryRequestOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use IncrementalDiscoveryRequest.newBuilder() to construct.
+ private IncrementalDiscoveryRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private IncrementalDiscoveryRequest() {
+ typeUrl_ = "";
+ resourceNamesSubscribe_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ resourceNamesUnsubscribe_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ responseNonce_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private IncrementalDiscoveryRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder subBuilder = null;
+ if (node_ != null) {
+ subBuilder = node_.toBuilder();
+ }
+ node_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Node.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(node_);
+ node_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ typeUrl_ = s;
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ resourceNamesSubscribe_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ resourceNamesSubscribe_.add(s);
+ break;
+ }
+ case 34: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ resourceNamesUnsubscribe_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000008;
+ }
+ resourceNamesUnsubscribe_.add(s);
+ break;
+ }
+ case 42: {
+ if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
+ initialResourceVersions_ = com.google.protobuf.MapField.newMapField(
+ InitialResourceVersionsDefaultEntryHolder.defaultEntry);
+ mutable_bitField0_ |= 0x00000010;
+ }
+ com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
+ initialResourceVersions__ = input.readMessage(
+ InitialResourceVersionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+ initialResourceVersions_.getMutableMap().put(
+ initialResourceVersions__.getKey(), initialResourceVersions__.getValue());
+ break;
+ }
+ case 50: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ responseNonce_ = s;
+ break;
+ }
+ case 58: {
+ com.google.rpc.Status.Builder subBuilder = null;
+ if (errorDetail_ != null) {
+ subBuilder = errorDetail_.toBuilder();
+ }
+ errorDetail_ = input.readMessage(com.google.rpc.Status.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(errorDetail_);
+ errorDetail_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ resourceNamesSubscribe_ = resourceNamesSubscribe_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ resourceNamesUnsubscribe_ = resourceNamesUnsubscribe_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryRequest_descriptor;
+ }
+
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 5:
+ return internalGetInitialResourceVersions();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.class, io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int NODE_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Node node_;
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public boolean hasNode() {
+ return node_ != null;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node getNode() {
+ return node_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Node.getDefaultInstance() : node_;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder getNodeOrBuilder() {
+ return getNode();
+ }
+
+ public static final int TYPE_URL_FIELD_NUMBER = 2;
+ private volatile java.lang.Object typeUrl_;
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ public java.lang.String getTypeUrl() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ typeUrl_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeUrlBytes() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ typeUrl_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int RESOURCE_NAMES_SUBSCRIBE_FIELD_NUMBER = 3;
+ private com.google.protobuf.LazyStringList resourceNamesSubscribe_;
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getResourceNamesSubscribeList() {
+ return resourceNamesSubscribe_;
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public int getResourceNamesSubscribeCount() {
+ return resourceNamesSubscribe_.size();
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public java.lang.String getResourceNamesSubscribe(int index) {
+ return resourceNamesSubscribe_.get(index);
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResourceNamesSubscribeBytes(int index) {
+ return resourceNamesSubscribe_.getByteString(index);
+ }
+
+ public static final int RESOURCE_NAMES_UNSUBSCRIBE_FIELD_NUMBER = 4;
+ private com.google.protobuf.LazyStringList resourceNamesUnsubscribe_;
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getResourceNamesUnsubscribeList() {
+ return resourceNamesUnsubscribe_;
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public int getResourceNamesUnsubscribeCount() {
+ return resourceNamesUnsubscribe_.size();
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public java.lang.String getResourceNamesUnsubscribe(int index) {
+ return resourceNamesUnsubscribe_.get(index);
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResourceNamesUnsubscribeBytes(int index) {
+ return resourceNamesUnsubscribe_.getByteString(index);
+ }
+
+ public static final int INITIAL_RESOURCE_VERSIONS_FIELD_NUMBER = 5;
+ private static final class InitialResourceVersionsDefaultEntryHolder {
+ static final com.google.protobuf.MapEntry<
+ java.lang.String, java.lang.String> defaultEntry =
+ com.google.protobuf.MapEntry
+ .<java.lang.String, java.lang.String>newDefaultInstance(
+ io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryRequest_InitialResourceVersionsEntry_descriptor,
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "",
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "");
+ }
+ private com.google.protobuf.MapField<
+ java.lang.String, java.lang.String> initialResourceVersions_;
+ private com.google.protobuf.MapField<java.lang.String, java.lang.String>
+ internalGetInitialResourceVersions() {
+ if (initialResourceVersions_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ InitialResourceVersionsDefaultEntryHolder.defaultEntry);
+ }
+ return initialResourceVersions_;
+ }
+
+ public int getInitialResourceVersionsCount() {
+ return internalGetInitialResourceVersions().getMap().size();
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public boolean containsInitialResourceVersions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetInitialResourceVersions().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getInitialResourceVersionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, java.lang.String> getInitialResourceVersions() {
+ return getInitialResourceVersionsMap();
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public java.util.Map<java.lang.String, java.lang.String> getInitialResourceVersionsMap() {
+ return internalGetInitialResourceVersions().getMap();
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public java.lang.String getInitialResourceVersionsOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, java.lang.String> map =
+ internalGetInitialResourceVersions().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public java.lang.String getInitialResourceVersionsOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, java.lang.String> map =
+ internalGetInitialResourceVersions().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ public static final int RESPONSE_NONCE_FIELD_NUMBER = 6;
+ private volatile java.lang.Object responseNonce_;
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ public java.lang.String getResponseNonce() {
+ java.lang.Object ref = responseNonce_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ responseNonce_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResponseNonceBytes() {
+ java.lang.Object ref = responseNonce_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ responseNonce_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ERROR_DETAIL_FIELD_NUMBER = 7;
+ private com.google.rpc.Status errorDetail_;
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public boolean hasErrorDetail() {
+ return errorDetail_ != null;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public com.google.rpc.Status getErrorDetail() {
+ return errorDetail_ == null ? com.google.rpc.Status.getDefaultInstance() : errorDetail_;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public com.google.rpc.StatusOrBuilder getErrorDetailOrBuilder() {
+ return getErrorDetail();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (node_ != null) {
+ output.writeMessage(1, getNode());
+ }
+ if (!getTypeUrlBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, typeUrl_);
+ }
+ for (int i = 0; i < resourceNamesSubscribe_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, resourceNamesSubscribe_.getRaw(i));
+ }
+ for (int i = 0; i < resourceNamesUnsubscribe_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, resourceNamesUnsubscribe_.getRaw(i));
+ }
+ com.google.protobuf.GeneratedMessageV3
+ .serializeStringMapTo(
+ output,
+ internalGetInitialResourceVersions(),
+ InitialResourceVersionsDefaultEntryHolder.defaultEntry,
+ 5);
+ if (!getResponseNonceBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 6, responseNonce_);
+ }
+ if (errorDetail_ != null) {
+ output.writeMessage(7, getErrorDetail());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (node_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getNode());
+ }
+ if (!getTypeUrlBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, typeUrl_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < resourceNamesSubscribe_.size(); i++) {
+ dataSize += computeStringSizeNoTag(resourceNamesSubscribe_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getResourceNamesSubscribeList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < resourceNamesUnsubscribe_.size(); i++) {
+ dataSize += computeStringSizeNoTag(resourceNamesUnsubscribe_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getResourceNamesUnsubscribeList().size();
+ }
+ for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
+ : internalGetInitialResourceVersions().getMap().entrySet()) {
+ com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
+ initialResourceVersions__ = InitialResourceVersionsDefaultEntryHolder.defaultEntry.newBuilderForType()
+ .setKey(entry.getKey())
+ .setValue(entry.getValue())
+ .build();
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, initialResourceVersions__);
+ }
+ if (!getResponseNonceBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, responseNonce_);
+ }
+ if (errorDetail_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, getErrorDetail());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest other = (io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest) obj;
+
+ boolean result = true;
+ result = result && (hasNode() == other.hasNode());
+ if (hasNode()) {
+ result = result && getNode()
+ .equals(other.getNode());
+ }
+ result = result && getTypeUrl()
+ .equals(other.getTypeUrl());
+ result = result && getResourceNamesSubscribeList()
+ .equals(other.getResourceNamesSubscribeList());
+ result = result && getResourceNamesUnsubscribeList()
+ .equals(other.getResourceNamesUnsubscribeList());
+ result = result && internalGetInitialResourceVersions().equals(
+ other.internalGetInitialResourceVersions());
+ result = result && getResponseNonce()
+ .equals(other.getResponseNonce());
+ result = result && (hasErrorDetail() == other.hasErrorDetail());
+ if (hasErrorDetail()) {
+ result = result && getErrorDetail()
+ .equals(other.getErrorDetail());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasNode()) {
+ hash = (37 * hash) + NODE_FIELD_NUMBER;
+ hash = (53 * hash) + getNode().hashCode();
+ }
+ hash = (37 * hash) + TYPE_URL_FIELD_NUMBER;
+ hash = (53 * hash) + getTypeUrl().hashCode();
+ if (getResourceNamesSubscribeCount() > 0) {
+ hash = (37 * hash) + RESOURCE_NAMES_SUBSCRIBE_FIELD_NUMBER;
+ hash = (53 * hash) + getResourceNamesSubscribeList().hashCode();
+ }
+ if (getResourceNamesUnsubscribeCount() > 0) {
+ hash = (37 * hash) + RESOURCE_NAMES_UNSUBSCRIBE_FIELD_NUMBER;
+ hash = (53 * hash) + getResourceNamesUnsubscribeList().hashCode();
+ }
+ if (!internalGetInitialResourceVersions().getMap().isEmpty()) {
+ hash = (37 * hash) + INITIAL_RESOURCE_VERSIONS_FIELD_NUMBER;
+ hash = (53 * hash) + internalGetInitialResourceVersions().hashCode();
+ }
+ hash = (37 * hash) + RESPONSE_NONCE_FIELD_NUMBER;
+ hash = (53 * hash) + getResponseNonce().hashCode();
+ if (hasErrorDetail()) {
+ hash = (37 * hash) + ERROR_DETAIL_FIELD_NUMBER;
+ hash = (53 * hash) + getErrorDetail().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequest and IncrementalDiscoveryResponse are used in a
+ * new gRPC endpoint for Incremental xDS. The feature is not supported for REST
+ * management servers.
+ * With Incremental xDS, the IncrementalDiscoveryResponses do not need to
+ * include a full snapshot of the tracked resources. Instead
+ * IncrementalDiscoveryResponses are a diff to the state of a xDS client.
+ * In Incremental XDS there are per resource versions which allows to track
+ * state at the resource granularity.
+ * An xDS Incremental session is always in the context of a gRPC bidirectional
+ * stream. This allows the xDS server to keep track of the state of xDS clients
+ * connected to it.
+ * In Incremental xDS the nonce field is required and used to pair
+ * IncrementalDiscoveryResponse to a IncrementalDiscoveryRequest ACK or NACK.
+ * Optionaly, a response message level system_version_info is present for
+ * debugging purposes only.
+ * IncrementalDiscoveryRequest can be sent in 3 situations:
+ * 1. Initial message in a xDS bidirectional gRPC stream.
+ * 2. As a ACK or NACK response to a previous IncrementalDiscoveryResponse.
+ * In this case the response_nonce is set to the nonce value in the Response.
+ * ACK or NACK is determined by the absence or presence of error_detail.
+ * 3. Spontaneous IncrementalDiscoveryRequest from the client.
+ * This can be done to dynamically add or remove elements from the tracked
+ * resource_names set. In this case response_nonce must be omitted.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.IncrementalDiscoveryRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.IncrementalDiscoveryRequest)
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryRequest_descriptor;
+ }
+
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 5:
+ return internalGetInitialResourceVersions();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMutableMapField(
+ int number) {
+ switch (number) {
+ case 5:
+ return internalGetMutableInitialResourceVersions();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.class, io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (nodeBuilder_ == null) {
+ node_ = null;
+ } else {
+ node_ = null;
+ nodeBuilder_ = null;
+ }
+ typeUrl_ = "";
+
+ resourceNamesSubscribe_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ resourceNamesUnsubscribe_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ internalGetMutableInitialResourceVersions().clear();
+ responseNonce_ = "";
+
+ if (errorDetailBuilder_ == null) {
+ errorDetail_ = null;
+ } else {
+ errorDetail_ = null;
+ errorDetailBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryRequest_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest build() {
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest result = new io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (nodeBuilder_ == null) {
+ result.node_ = node_;
+ } else {
+ result.node_ = nodeBuilder_.build();
+ }
+ result.typeUrl_ = typeUrl_;
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ resourceNamesSubscribe_ = resourceNamesSubscribe_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.resourceNamesSubscribe_ = resourceNamesSubscribe_;
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ resourceNamesUnsubscribe_ = resourceNamesUnsubscribe_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ }
+ result.resourceNamesUnsubscribe_ = resourceNamesUnsubscribe_;
+ result.initialResourceVersions_ = internalGetInitialResourceVersions();
+ result.initialResourceVersions_.makeImmutable();
+ result.responseNonce_ = responseNonce_;
+ if (errorDetailBuilder_ == null) {
+ result.errorDetail_ = errorDetail_;
+ } else {
+ result.errorDetail_ = errorDetailBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest.getDefaultInstance()) return this;
+ if (other.hasNode()) {
+ mergeNode(other.getNode());
+ }
+ if (!other.getTypeUrl().isEmpty()) {
+ typeUrl_ = other.typeUrl_;
+ onChanged();
+ }
+ if (!other.resourceNamesSubscribe_.isEmpty()) {
+ if (resourceNamesSubscribe_.isEmpty()) {
+ resourceNamesSubscribe_ = other.resourceNamesSubscribe_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureResourceNamesSubscribeIsMutable();
+ resourceNamesSubscribe_.addAll(other.resourceNamesSubscribe_);
+ }
+ onChanged();
+ }
+ if (!other.resourceNamesUnsubscribe_.isEmpty()) {
+ if (resourceNamesUnsubscribe_.isEmpty()) {
+ resourceNamesUnsubscribe_ = other.resourceNamesUnsubscribe_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ ensureResourceNamesUnsubscribeIsMutable();
+ resourceNamesUnsubscribe_.addAll(other.resourceNamesUnsubscribe_);
+ }
+ onChanged();
+ }
+ internalGetMutableInitialResourceVersions().mergeFrom(
+ other.internalGetInitialResourceVersions());
+ if (!other.getResponseNonce().isEmpty()) {
+ responseNonce_ = other.responseNonce_;
+ onChanged();
+ }
+ if (other.hasErrorDetail()) {
+ mergeErrorDetail(other.getErrorDetail());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Node node_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Node, io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder, io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder> nodeBuilder_;
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public boolean hasNode() {
+ return nodeBuilder_ != null || node_ != null;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node getNode() {
+ if (nodeBuilder_ == null) {
+ return node_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Node.getDefaultInstance() : node_;
+ } else {
+ return nodeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public Builder setNode(io.grpc.xds.shaded.envoy.api.v2.core.Node value) {
+ if (nodeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ node_ = value;
+ onChanged();
+ } else {
+ nodeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public Builder setNode(
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder builderForValue) {
+ if (nodeBuilder_ == null) {
+ node_ = builderForValue.build();
+ onChanged();
+ } else {
+ nodeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public Builder mergeNode(io.grpc.xds.shaded.envoy.api.v2.core.Node value) {
+ if (nodeBuilder_ == null) {
+ if (node_ != null) {
+ node_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.newBuilder(node_).mergeFrom(value).buildPartial();
+ } else {
+ node_ = value;
+ }
+ onChanged();
+ } else {
+ nodeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public Builder clearNode() {
+ if (nodeBuilder_ == null) {
+ node_ = null;
+ onChanged();
+ } else {
+ node_ = null;
+ nodeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder getNodeBuilder() {
+
+ onChanged();
+ return getNodeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder getNodeOrBuilder() {
+ if (nodeBuilder_ != null) {
+ return nodeBuilder_.getMessageOrBuilder();
+ } else {
+ return node_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.getDefaultInstance() : node_;
+ }
+ }
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Node, io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder, io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder>
+ getNodeFieldBuilder() {
+ if (nodeBuilder_ == null) {
+ nodeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Node, io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder, io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder>(
+ getNode(),
+ getParentForChildren(),
+ isClean());
+ node_ = null;
+ }
+ return nodeBuilder_;
+ }
+
+ private java.lang.Object typeUrl_ = "";
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ public java.lang.String getTypeUrl() {
+ java.lang.Object ref = typeUrl_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ typeUrl_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getTypeUrlBytes() {
+ java.lang.Object ref = typeUrl_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ typeUrl_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ public Builder setTypeUrl(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ typeUrl_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ public Builder clearTypeUrl() {
+
+ typeUrl_ = getDefaultInstance().getTypeUrl();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ public Builder setTypeUrlBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ typeUrl_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList resourceNamesSubscribe_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureResourceNamesSubscribeIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ resourceNamesSubscribe_ = new com.google.protobuf.LazyStringArrayList(resourceNamesSubscribe_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getResourceNamesSubscribeList() {
+ return resourceNamesSubscribe_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public int getResourceNamesSubscribeCount() {
+ return resourceNamesSubscribe_.size();
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public java.lang.String getResourceNamesSubscribe(int index) {
+ return resourceNamesSubscribe_.get(index);
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResourceNamesSubscribeBytes(int index) {
+ return resourceNamesSubscribe_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public Builder setResourceNamesSubscribe(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourceNamesSubscribeIsMutable();
+ resourceNamesSubscribe_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public Builder addResourceNamesSubscribe(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourceNamesSubscribeIsMutable();
+ resourceNamesSubscribe_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public Builder addAllResourceNamesSubscribe(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureResourceNamesSubscribeIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, resourceNamesSubscribe_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public Builder clearResourceNamesSubscribe() {
+ resourceNamesSubscribe_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ public Builder addResourceNamesSubscribeBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureResourceNamesSubscribeIsMutable();
+ resourceNamesSubscribe_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList resourceNamesUnsubscribe_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureResourceNamesUnsubscribeIsMutable() {
+ if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+ resourceNamesUnsubscribe_ = new com.google.protobuf.LazyStringArrayList(resourceNamesUnsubscribe_);
+ bitField0_ |= 0x00000008;
+ }
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getResourceNamesUnsubscribeList() {
+ return resourceNamesUnsubscribe_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public int getResourceNamesUnsubscribeCount() {
+ return resourceNamesUnsubscribe_.size();
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public java.lang.String getResourceNamesUnsubscribe(int index) {
+ return resourceNamesUnsubscribe_.get(index);
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResourceNamesUnsubscribeBytes(int index) {
+ return resourceNamesUnsubscribe_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public Builder setResourceNamesUnsubscribe(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourceNamesUnsubscribeIsMutable();
+ resourceNamesUnsubscribe_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public Builder addResourceNamesUnsubscribe(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourceNamesUnsubscribeIsMutable();
+ resourceNamesUnsubscribe_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public Builder addAllResourceNamesUnsubscribe(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureResourceNamesUnsubscribeIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, resourceNamesUnsubscribe_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public Builder clearResourceNamesUnsubscribe() {
+ resourceNamesUnsubscribe_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ public Builder addResourceNamesUnsubscribeBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureResourceNamesUnsubscribeIsMutable();
+ resourceNamesUnsubscribe_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.MapField<
+ java.lang.String, java.lang.String> initialResourceVersions_;
+ private com.google.protobuf.MapField<java.lang.String, java.lang.String>
+ internalGetInitialResourceVersions() {
+ if (initialResourceVersions_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ InitialResourceVersionsDefaultEntryHolder.defaultEntry);
+ }
+ return initialResourceVersions_;
+ }
+ private com.google.protobuf.MapField<java.lang.String, java.lang.String>
+ internalGetMutableInitialResourceVersions() {
+ onChanged();;
+ if (initialResourceVersions_ == null) {
+ initialResourceVersions_ = com.google.protobuf.MapField.newMapField(
+ InitialResourceVersionsDefaultEntryHolder.defaultEntry);
+ }
+ if (!initialResourceVersions_.isMutable()) {
+ initialResourceVersions_ = initialResourceVersions_.copy();
+ }
+ return initialResourceVersions_;
+ }
+
+ public int getInitialResourceVersionsCount() {
+ return internalGetInitialResourceVersions().getMap().size();
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public boolean containsInitialResourceVersions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetInitialResourceVersions().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getInitialResourceVersionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, java.lang.String> getInitialResourceVersions() {
+ return getInitialResourceVersionsMap();
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public java.util.Map<java.lang.String, java.lang.String> getInitialResourceVersionsMap() {
+ return internalGetInitialResourceVersions().getMap();
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public java.lang.String getInitialResourceVersionsOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, java.lang.String> map =
+ internalGetInitialResourceVersions().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public java.lang.String getInitialResourceVersionsOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, java.lang.String> map =
+ internalGetInitialResourceVersions().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ public Builder clearInitialResourceVersions() {
+ internalGetMutableInitialResourceVersions().getMutableMap()
+ .clear();
+ return this;
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public Builder removeInitialResourceVersions(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableInitialResourceVersions().getMutableMap()
+ .remove(key);
+ return this;
+ }
+ /**
+ * Use alternate mutation accessors instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, java.lang.String>
+ getMutableInitialResourceVersions() {
+ return internalGetMutableInitialResourceVersions().getMutableMap();
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+ public Builder putInitialResourceVersions(
+ java.lang.String key,
+ java.lang.String value) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ if (value == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableInitialResourceVersions().getMutableMap()
+ .put(key, value);
+ return this;
+ }
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ public Builder putAllInitialResourceVersions(
+ java.util.Map<java.lang.String, java.lang.String> values) {
+ internalGetMutableInitialResourceVersions().getMutableMap()
+ .putAll(values);
+ return this;
+ }
+
+ private java.lang.Object responseNonce_ = "";
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ public java.lang.String getResponseNonce() {
+ java.lang.Object ref = responseNonce_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ responseNonce_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResponseNonceBytes() {
+ java.lang.Object ref = responseNonce_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ responseNonce_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ public Builder setResponseNonce(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ responseNonce_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ public Builder clearResponseNonce() {
+
+ responseNonce_ = getDefaultInstance().getResponseNonce();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ public Builder setResponseNonceBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ responseNonce_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.rpc.Status errorDetail_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.rpc.Status, com.google.rpc.Status.Builder, com.google.rpc.StatusOrBuilder> errorDetailBuilder_;
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public boolean hasErrorDetail() {
+ return errorDetailBuilder_ != null || errorDetail_ != null;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public com.google.rpc.Status getErrorDetail() {
+ if (errorDetailBuilder_ == null) {
+ return errorDetail_ == null ? com.google.rpc.Status.getDefaultInstance() : errorDetail_;
+ } else {
+ return errorDetailBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public Builder setErrorDetail(com.google.rpc.Status value) {
+ if (errorDetailBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ errorDetail_ = value;
+ onChanged();
+ } else {
+ errorDetailBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public Builder setErrorDetail(
+ com.google.rpc.Status.Builder builderForValue) {
+ if (errorDetailBuilder_ == null) {
+ errorDetail_ = builderForValue.build();
+ onChanged();
+ } else {
+ errorDetailBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public Builder mergeErrorDetail(com.google.rpc.Status value) {
+ if (errorDetailBuilder_ == null) {
+ if (errorDetail_ != null) {
+ errorDetail_ =
+ com.google.rpc.Status.newBuilder(errorDetail_).mergeFrom(value).buildPartial();
+ } else {
+ errorDetail_ = value;
+ }
+ onChanged();
+ } else {
+ errorDetailBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public Builder clearErrorDetail() {
+ if (errorDetailBuilder_ == null) {
+ errorDetail_ = null;
+ onChanged();
+ } else {
+ errorDetail_ = null;
+ errorDetailBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public com.google.rpc.Status.Builder getErrorDetailBuilder() {
+
+ onChanged();
+ return getErrorDetailFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ public com.google.rpc.StatusOrBuilder getErrorDetailOrBuilder() {
+ if (errorDetailBuilder_ != null) {
+ return errorDetailBuilder_.getMessageOrBuilder();
+ } else {
+ return errorDetail_ == null ?
+ com.google.rpc.Status.getDefaultInstance() : errorDetail_;
+ }
+ }
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.rpc.Status, com.google.rpc.Status.Builder, com.google.rpc.StatusOrBuilder>
+ getErrorDetailFieldBuilder() {
+ if (errorDetailBuilder_ == null) {
+ errorDetailBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.rpc.Status, com.google.rpc.Status.Builder, com.google.rpc.StatusOrBuilder>(
+ getErrorDetail(),
+ getParentForChildren(),
+ isClean());
+ errorDetail_ = null;
+ }
+ return errorDetailBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.IncrementalDiscoveryRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.IncrementalDiscoveryRequest)
+ private static final io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<IncrementalDiscoveryRequest>
+ PARSER = new com.google.protobuf.AbstractParser<IncrementalDiscoveryRequest>() {
+ public IncrementalDiscoveryRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new IncrementalDiscoveryRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<IncrementalDiscoveryRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<IncrementalDiscoveryRequest> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryRequestOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryRequestOrBuilder.java
new file mode 100644
index 000000000..e17be2516
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryRequestOrBuilder.java
@@ -0,0 +1,304 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface IncrementalDiscoveryRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.IncrementalDiscoveryRequest)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ boolean hasNode();
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Node getNode();
+ /**
+ * <pre>
+ * The node making the request.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Node node = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder getNodeOrBuilder();
+
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ java.lang.String getTypeUrl();
+ /**
+ * <pre>
+ * Type of the resource that is being requested, e.g.
+ * "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ * in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ * required for ADS.
+ * </pre>
+ *
+ * <code>string type_url = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getTypeUrlBytes();
+
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ java.util.List<java.lang.String>
+ getResourceNamesSubscribeList();
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ int getResourceNamesSubscribeCount();
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ java.lang.String getResourceNamesSubscribe(int index);
+ /**
+ * <pre>
+ * IncrementalDiscoveryRequests allow the client to add or remove individual
+ * resources to the set of tracked resources in the context of a stream.
+ * All resource names in the resource_names_subscribe list are added to the
+ * set of tracked resources and all resource names in the resource_names_unsubscribe
+ * list are removed from the set of tracked resources.
+ * Unlike in non incremental xDS, an empty resource_names_subscribe or
+ * resource_names_unsubscribe list simply means that no resources are to be
+ * added or removed to the resource list.
+ * The xDS server must send updates for all tracked resources but can also
+ * send updates for resources the client has not subscribed to. This behavior
+ * is similar to non incremental xDS.
+ * These two fields can be set for all types of IncrementalDiscoveryRequests
+ * (initial, ACK/NACK or spontaneous).
+ * A list of Resource names to add to the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_subscribe = 3;</code>
+ */
+ com.google.protobuf.ByteString
+ getResourceNamesSubscribeBytes(int index);
+
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ java.util.List<java.lang.String>
+ getResourceNamesUnsubscribeList();
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ int getResourceNamesUnsubscribeCount();
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ java.lang.String getResourceNamesUnsubscribe(int index);
+ /**
+ * <pre>
+ * A list of Resource names to remove from the list of tracked resources.
+ * </pre>
+ *
+ * <code>repeated string resource_names_unsubscribe = 4;</code>
+ */
+ com.google.protobuf.ByteString
+ getResourceNamesUnsubscribeBytes(int index);
+
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+ int getInitialResourceVersionsCount();
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+ boolean containsInitialResourceVersions(
+ java.lang.String key);
+ /**
+ * Use {@link #getInitialResourceVersionsMap()} instead.
+ */
+ @java.lang.Deprecated
+ java.util.Map<java.lang.String, java.lang.String>
+ getInitialResourceVersions();
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+ java.util.Map<java.lang.String, java.lang.String>
+ getInitialResourceVersionsMap();
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ java.lang.String getInitialResourceVersionsOrDefault(
+ java.lang.String key,
+ java.lang.String defaultValue);
+ /**
+ * <pre>
+ * This map must be populated when the IncrementalDiscoveryRequest is the
+ * first in a stream. The keys are the resources names of the xDS resources
+ * known to the xDS client. The values in the map are the associated resource
+ * level version info.
+ * </pre>
+ *
+ * <code>map&lt;string, string&gt; initial_resource_versions = 5;</code>
+ */
+
+ java.lang.String getInitialResourceVersionsOrThrow(
+ java.lang.String key);
+
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ java.lang.String getResponseNonce();
+ /**
+ * <pre>
+ * When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ * to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ * nonce in the IncrementalDiscoveryResponse.
+ * Otherwise response_nonce must be omitted.
+ * </pre>
+ *
+ * <code>string response_nonce = 6;</code>
+ */
+ com.google.protobuf.ByteString
+ getResponseNonceBytes();
+
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ boolean hasErrorDetail();
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ com.google.rpc.Status getErrorDetail();
+ /**
+ * <pre>
+ * This is populated when the previous :ref:`DiscoveryResponse &lt;envoy_api_msg_DiscoveryResponse&gt;`
+ * failed to update configuration. The *message* field in *error_details*
+ * provides the Envoy internal exception related to the failure.
+ * </pre>
+ *
+ * <code>.google.rpc.Status error_detail = 7;</code>
+ */
+ com.google.rpc.StatusOrBuilder getErrorDetailOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryResponse.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryResponse.java
new file mode 100644
index 000000000..674fa2894
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryResponse.java
@@ -0,0 +1,1404 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * Protobuf type {@code envoy.api.v2.IncrementalDiscoveryResponse}
+ */
+public final class IncrementalDiscoveryResponse extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.IncrementalDiscoveryResponse)
+ IncrementalDiscoveryResponseOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use IncrementalDiscoveryResponse.newBuilder() to construct.
+ private IncrementalDiscoveryResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private IncrementalDiscoveryResponse() {
+ systemVersionInfo_ = "";
+ resources_ = java.util.Collections.emptyList();
+ removedResources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ nonce_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private IncrementalDiscoveryResponse(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ systemVersionInfo_ = s;
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ resources_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.Resource>();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ resources_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.Resource.parser(), extensionRegistry));
+ break;
+ }
+ case 42: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ nonce_ = s;
+ break;
+ }
+ case 50: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ removedResources_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ removedResources_.add(s);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ resources_ = java.util.Collections.unmodifiableList(resources_);
+ }
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ removedResources_ = removedResources_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.class, io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int SYSTEM_VERSION_INFO_FIELD_NUMBER = 1;
+ private volatile java.lang.Object systemVersionInfo_;
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ public java.lang.String getSystemVersionInfo() {
+ java.lang.Object ref = systemVersionInfo_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ systemVersionInfo_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getSystemVersionInfoBytes() {
+ java.lang.Object ref = systemVersionInfo_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ systemVersionInfo_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int RESOURCES_FIELD_NUMBER = 2;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.Resource> resources_;
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.Resource> getResourcesList() {
+ return resources_;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder>
+ getResourcesOrBuilderList() {
+ return resources_;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public int getResourcesCount() {
+ return resources_.size();
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Resource getResources(int index) {
+ return resources_.get(index);
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder getResourcesOrBuilder(
+ int index) {
+ return resources_.get(index);
+ }
+
+ public static final int REMOVED_RESOURCES_FIELD_NUMBER = 6;
+ private com.google.protobuf.LazyStringList removedResources_;
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getRemovedResourcesList() {
+ return removedResources_;
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public int getRemovedResourcesCount() {
+ return removedResources_.size();
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public java.lang.String getRemovedResources(int index) {
+ return removedResources_.get(index);
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public com.google.protobuf.ByteString
+ getRemovedResourcesBytes(int index) {
+ return removedResources_.getByteString(index);
+ }
+
+ public static final int NONCE_FIELD_NUMBER = 5;
+ private volatile java.lang.Object nonce_;
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public java.lang.String getNonce() {
+ java.lang.Object ref = nonce_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ nonce_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNonceBytes() {
+ java.lang.Object ref = nonce_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ nonce_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getSystemVersionInfoBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, systemVersionInfo_);
+ }
+ for (int i = 0; i < resources_.size(); i++) {
+ output.writeMessage(2, resources_.get(i));
+ }
+ if (!getNonceBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 5, nonce_);
+ }
+ for (int i = 0; i < removedResources_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 6, removedResources_.getRaw(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getSystemVersionInfoBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, systemVersionInfo_);
+ }
+ for (int i = 0; i < resources_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, resources_.get(i));
+ }
+ if (!getNonceBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, nonce_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < removedResources_.size(); i++) {
+ dataSize += computeStringSizeNoTag(removedResources_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getRemovedResourcesList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse other = (io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse) obj;
+
+ boolean result = true;
+ result = result && getSystemVersionInfo()
+ .equals(other.getSystemVersionInfo());
+ result = result && getResourcesList()
+ .equals(other.getResourcesList());
+ result = result && getRemovedResourcesList()
+ .equals(other.getRemovedResourcesList());
+ result = result && getNonce()
+ .equals(other.getNonce());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + SYSTEM_VERSION_INFO_FIELD_NUMBER;
+ hash = (53 * hash) + getSystemVersionInfo().hashCode();
+ if (getResourcesCount() > 0) {
+ hash = (37 * hash) + RESOURCES_FIELD_NUMBER;
+ hash = (53 * hash) + getResourcesList().hashCode();
+ }
+ if (getRemovedResourcesCount() > 0) {
+ hash = (37 * hash) + REMOVED_RESOURCES_FIELD_NUMBER;
+ hash = (53 * hash) + getRemovedResourcesList().hashCode();
+ }
+ hash = (37 * hash) + NONCE_FIELD_NUMBER;
+ hash = (53 * hash) + getNonce().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.IncrementalDiscoveryResponse}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.IncrementalDiscoveryResponse)
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponseOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryResponse_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryResponse_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.class, io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getResourcesFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ systemVersionInfo_ = "";
+
+ if (resourcesBuilder_ == null) {
+ resources_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ resourcesBuilder_.clear();
+ }
+ removedResources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ nonce_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_IncrementalDiscoveryResponse_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse build() {
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse result = new io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.systemVersionInfo_ = systemVersionInfo_;
+ if (resourcesBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ resources_ = java.util.Collections.unmodifiableList(resources_);
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.resources_ = resources_;
+ } else {
+ result.resources_ = resourcesBuilder_.build();
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ removedResources_ = removedResources_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.removedResources_ = removedResources_;
+ result.nonce_ = nonce_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse.getDefaultInstance()) return this;
+ if (!other.getSystemVersionInfo().isEmpty()) {
+ systemVersionInfo_ = other.systemVersionInfo_;
+ onChanged();
+ }
+ if (resourcesBuilder_ == null) {
+ if (!other.resources_.isEmpty()) {
+ if (resources_.isEmpty()) {
+ resources_ = other.resources_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureResourcesIsMutable();
+ resources_.addAll(other.resources_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.resources_.isEmpty()) {
+ if (resourcesBuilder_.isEmpty()) {
+ resourcesBuilder_.dispose();
+ resourcesBuilder_ = null;
+ resources_ = other.resources_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ resourcesBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getResourcesFieldBuilder() : null;
+ } else {
+ resourcesBuilder_.addAllMessages(other.resources_);
+ }
+ }
+ }
+ if (!other.removedResources_.isEmpty()) {
+ if (removedResources_.isEmpty()) {
+ removedResources_ = other.removedResources_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureRemovedResourcesIsMutable();
+ removedResources_.addAll(other.removedResources_);
+ }
+ onChanged();
+ }
+ if (!other.getNonce().isEmpty()) {
+ nonce_ = other.nonce_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object systemVersionInfo_ = "";
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ public java.lang.String getSystemVersionInfo() {
+ java.lang.Object ref = systemVersionInfo_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ systemVersionInfo_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getSystemVersionInfoBytes() {
+ java.lang.Object ref = systemVersionInfo_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ systemVersionInfo_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ public Builder setSystemVersionInfo(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ systemVersionInfo_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ public Builder clearSystemVersionInfo() {
+
+ systemVersionInfo_ = getDefaultInstance().getSystemVersionInfo();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ public Builder setSystemVersionInfoBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ systemVersionInfo_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.Resource> resources_ =
+ java.util.Collections.emptyList();
+ private void ensureResourcesIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ resources_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.Resource>(resources_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Resource, io.grpc.xds.shaded.envoy.api.v2.Resource.Builder, io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder> resourcesBuilder_;
+
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.Resource> getResourcesList() {
+ if (resourcesBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(resources_);
+ } else {
+ return resourcesBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public int getResourcesCount() {
+ if (resourcesBuilder_ == null) {
+ return resources_.size();
+ } else {
+ return resourcesBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Resource getResources(int index) {
+ if (resourcesBuilder_ == null) {
+ return resources_.get(index);
+ } else {
+ return resourcesBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder setResources(
+ int index, io.grpc.xds.shaded.envoy.api.v2.Resource value) {
+ if (resourcesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourcesIsMutable();
+ resources_.set(index, value);
+ onChanged();
+ } else {
+ resourcesBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder setResources(
+ int index, io.grpc.xds.shaded.envoy.api.v2.Resource.Builder builderForValue) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ resources_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ resourcesBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder addResources(io.grpc.xds.shaded.envoy.api.v2.Resource value) {
+ if (resourcesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourcesIsMutable();
+ resources_.add(value);
+ onChanged();
+ } else {
+ resourcesBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder addResources(
+ int index, io.grpc.xds.shaded.envoy.api.v2.Resource value) {
+ if (resourcesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureResourcesIsMutable();
+ resources_.add(index, value);
+ onChanged();
+ } else {
+ resourcesBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder addResources(
+ io.grpc.xds.shaded.envoy.api.v2.Resource.Builder builderForValue) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ resources_.add(builderForValue.build());
+ onChanged();
+ } else {
+ resourcesBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder addResources(
+ int index, io.grpc.xds.shaded.envoy.api.v2.Resource.Builder builderForValue) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ resources_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ resourcesBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder addAllResources(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.Resource> values) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, resources_);
+ onChanged();
+ } else {
+ resourcesBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder clearResources() {
+ if (resourcesBuilder_ == null) {
+ resources_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ resourcesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public Builder removeResources(int index) {
+ if (resourcesBuilder_ == null) {
+ ensureResourcesIsMutable();
+ resources_.remove(index);
+ onChanged();
+ } else {
+ resourcesBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Resource.Builder getResourcesBuilder(
+ int index) {
+ return getResourcesFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder getResourcesOrBuilder(
+ int index) {
+ if (resourcesBuilder_ == null) {
+ return resources_.get(index); } else {
+ return resourcesBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder>
+ getResourcesOrBuilderList() {
+ if (resourcesBuilder_ != null) {
+ return resourcesBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(resources_);
+ }
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Resource.Builder addResourcesBuilder() {
+ return getResourcesFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.Resource.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.Resource.Builder addResourcesBuilder(
+ int index) {
+ return getResourcesFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.Resource.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.Resource.Builder>
+ getResourcesBuilderList() {
+ return getResourcesFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Resource, io.grpc.xds.shaded.envoy.api.v2.Resource.Builder, io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder>
+ getResourcesFieldBuilder() {
+ if (resourcesBuilder_ == null) {
+ resourcesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.Resource, io.grpc.xds.shaded.envoy.api.v2.Resource.Builder, io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder>(
+ resources_,
+ ((bitField0_ & 0x00000002) == 0x00000002),
+ getParentForChildren(),
+ isClean());
+ resources_ = null;
+ }
+ return resourcesBuilder_;
+ }
+
+ private com.google.protobuf.LazyStringList removedResources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureRemovedResourcesIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ removedResources_ = new com.google.protobuf.LazyStringArrayList(removedResources_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getRemovedResourcesList() {
+ return removedResources_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public int getRemovedResourcesCount() {
+ return removedResources_.size();
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public java.lang.String getRemovedResources(int index) {
+ return removedResources_.get(index);
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public com.google.protobuf.ByteString
+ getRemovedResourcesBytes(int index) {
+ return removedResources_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public Builder setRemovedResources(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureRemovedResourcesIsMutable();
+ removedResources_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public Builder addRemovedResources(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureRemovedResourcesIsMutable();
+ removedResources_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public Builder addAllRemovedResources(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureRemovedResourcesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, removedResources_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public Builder clearRemovedResources() {
+ removedResources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ public Builder addRemovedResourcesBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureRemovedResourcesIsMutable();
+ removedResources_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object nonce_ = "";
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public java.lang.String getNonce() {
+ java.lang.Object ref = nonce_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ nonce_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNonceBytes() {
+ java.lang.Object ref = nonce_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ nonce_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public Builder setNonce(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ nonce_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public Builder clearNonce() {
+
+ nonce_ = getDefaultInstance().getNonce();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ public Builder setNonceBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ nonce_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.IncrementalDiscoveryResponse)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.IncrementalDiscoveryResponse)
+ private static final io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<IncrementalDiscoveryResponse>
+ PARSER = new com.google.protobuf.AbstractParser<IncrementalDiscoveryResponse>() {
+ public IncrementalDiscoveryResponse parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new IncrementalDiscoveryResponse(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<IncrementalDiscoveryResponse> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<IncrementalDiscoveryResponse> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.IncrementalDiscoveryResponse getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryResponseOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryResponseOrBuilder.java
new file mode 100644
index 000000000..7a967d2bc
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/IncrementalDiscoveryResponseOrBuilder.java
@@ -0,0 +1,135 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface IncrementalDiscoveryResponseOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.IncrementalDiscoveryResponse)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ java.lang.String getSystemVersionInfo();
+ /**
+ * <pre>
+ * The version of the response data (used for debugging).
+ * </pre>
+ *
+ * <code>string system_version_info = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getSystemVersionInfoBytes();
+
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.Resource>
+ getResourcesList();
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.Resource getResources(int index);
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ int getResourcesCount();
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder>
+ getResourcesOrBuilderList();
+ /**
+ * <pre>
+ * The response resources. These are typed resources that match the type url
+ * in the IncrementalDiscoveryRequest.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.Resource resources = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder getResourcesOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ java.util.List<java.lang.String>
+ getRemovedResourcesList();
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ int getRemovedResourcesCount();
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ java.lang.String getRemovedResources(int index);
+ /**
+ * <pre>
+ * Resources names of resources that have be deleted and to be removed from the xDS Client.
+ * Removed resources for missing resources can be ignored.
+ * </pre>
+ *
+ * <code>repeated string removed_resources = 6;</code>
+ */
+ com.google.protobuf.ByteString
+ getRemovedResourcesBytes(int index);
+
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ java.lang.String getNonce();
+ /**
+ * <pre>
+ * The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ * reference a IncrementalDiscoveryResponse. The nonce is required.
+ * </pre>
+ *
+ * <code>string nonce = 5;</code>
+ */
+ com.google.protobuf.ByteString
+ getNonceBytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Resource.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Resource.java
new file mode 100644
index 000000000..e3f174436
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/Resource.java
@@ -0,0 +1,780 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * Protobuf type {@code envoy.api.v2.Resource}
+ */
+public final class Resource extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.Resource)
+ ResourceOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Resource.newBuilder() to construct.
+ private Resource(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Resource() {
+ version_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Resource(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ version_ = s;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Any.Builder subBuilder = null;
+ if (resource_ != null) {
+ subBuilder = resource_.toBuilder();
+ }
+ resource_ = input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(resource_);
+ resource_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_Resource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_Resource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Resource.class, io.grpc.xds.shaded.envoy.api.v2.Resource.Builder.class);
+ }
+
+ public static final int VERSION_FIELD_NUMBER = 1;
+ private volatile java.lang.Object version_;
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ public java.lang.String getVersion() {
+ java.lang.Object ref = version_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ version_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVersionBytes() {
+ java.lang.Object ref = version_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ version_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int RESOURCE_FIELD_NUMBER = 2;
+ private com.google.protobuf.Any resource_;
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public boolean hasResource() {
+ return resource_ != null;
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public com.google.protobuf.Any getResource() {
+ return resource_ == null ? com.google.protobuf.Any.getDefaultInstance() : resource_;
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getResourceOrBuilder() {
+ return getResource();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getVersionBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, version_);
+ }
+ if (resource_ != null) {
+ output.writeMessage(2, getResource());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getVersionBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, version_);
+ }
+ if (resource_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getResource());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.Resource)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.Resource other = (io.grpc.xds.shaded.envoy.api.v2.Resource) obj;
+
+ boolean result = true;
+ result = result && getVersion()
+ .equals(other.getVersion());
+ result = result && (hasResource() == other.hasResource());
+ if (hasResource()) {
+ result = result && getResource()
+ .equals(other.getResource());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + VERSION_FIELD_NUMBER;
+ hash = (53 * hash) + getVersion().hashCode();
+ if (hasResource()) {
+ hash = (37 * hash) + RESOURCE_FIELD_NUMBER;
+ hash = (53 * hash) + getResource().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.Resource prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.Resource}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.Resource)
+ io.grpc.xds.shaded.envoy.api.v2.ResourceOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_Resource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_Resource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.Resource.class, io.grpc.xds.shaded.envoy.api.v2.Resource.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.Resource.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ version_ = "";
+
+ if (resourceBuilder_ == null) {
+ resource_ = null;
+ } else {
+ resource_ = null;
+ resourceBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Discovery.internal_static_envoy_api_v2_Resource_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Resource getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Resource.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Resource build() {
+ io.grpc.xds.shaded.envoy.api.v2.Resource result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Resource buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.Resource result = new io.grpc.xds.shaded.envoy.api.v2.Resource(this);
+ result.version_ = version_;
+ if (resourceBuilder_ == null) {
+ result.resource_ = resource_;
+ } else {
+ result.resource_ = resourceBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.Resource) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.Resource)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.Resource other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.Resource.getDefaultInstance()) return this;
+ if (!other.getVersion().isEmpty()) {
+ version_ = other.version_;
+ onChanged();
+ }
+ if (other.hasResource()) {
+ mergeResource(other.getResource());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.Resource parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.Resource) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object version_ = "";
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ public java.lang.String getVersion() {
+ java.lang.Object ref = version_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ version_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVersionBytes() {
+ java.lang.Object ref = version_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ version_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ public Builder setVersion(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ version_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ public Builder clearVersion() {
+
+ version_ = getDefaultInstance().getVersion();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ public Builder setVersionBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ version_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Any resource_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> resourceBuilder_;
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public boolean hasResource() {
+ return resourceBuilder_ != null || resource_ != null;
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public com.google.protobuf.Any getResource() {
+ if (resourceBuilder_ == null) {
+ return resource_ == null ? com.google.protobuf.Any.getDefaultInstance() : resource_;
+ } else {
+ return resourceBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public Builder setResource(com.google.protobuf.Any value) {
+ if (resourceBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ resource_ = value;
+ onChanged();
+ } else {
+ resourceBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public Builder setResource(
+ com.google.protobuf.Any.Builder builderForValue) {
+ if (resourceBuilder_ == null) {
+ resource_ = builderForValue.build();
+ onChanged();
+ } else {
+ resourceBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public Builder mergeResource(com.google.protobuf.Any value) {
+ if (resourceBuilder_ == null) {
+ if (resource_ != null) {
+ resource_ =
+ com.google.protobuf.Any.newBuilder(resource_).mergeFrom(value).buildPartial();
+ } else {
+ resource_ = value;
+ }
+ onChanged();
+ } else {
+ resourceBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public Builder clearResource() {
+ if (resourceBuilder_ == null) {
+ resource_ = null;
+ onChanged();
+ } else {
+ resource_ = null;
+ resourceBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public com.google.protobuf.Any.Builder getResourceBuilder() {
+
+ onChanged();
+ return getResourceFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getResourceOrBuilder() {
+ if (resourceBuilder_ != null) {
+ return resourceBuilder_.getMessageOrBuilder();
+ } else {
+ return resource_ == null ?
+ com.google.protobuf.Any.getDefaultInstance() : resource_;
+ }
+ }
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>
+ getResourceFieldBuilder() {
+ if (resourceBuilder_ == null) {
+ resourceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
+ getResource(),
+ getParentForChildren(),
+ isClean());
+ resource_ = null;
+ }
+ return resourceBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.Resource)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.Resource)
+ private static final io.grpc.xds.shaded.envoy.api.v2.Resource DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.Resource();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.Resource getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Resource>
+ PARSER = new com.google.protobuf.AbstractParser<Resource>() {
+ public Resource parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Resource(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Resource> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Resource> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.Resource getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ResourceOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ResourceOrBuilder.java
new file mode 100644
index 000000000..92f358ce9
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/ResourceOrBuilder.java
@@ -0,0 +1,54 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/discovery.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface ResourceOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.Resource)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ java.lang.String getVersion();
+ /**
+ * <pre>
+ * The resource level version. It allows xDS to track the state of individual
+ * resources.
+ * </pre>
+ *
+ * <code>string version = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getVersionBytes();
+
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ boolean hasResource();
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ com.google.protobuf.Any getResource();
+ /**
+ * <pre>
+ * The resource being tracked.
+ * </pre>
+ *
+ * <code>.google.protobuf.Any resource = 2;</code>
+ */
+ com.google.protobuf.AnyOrBuilder getResourceOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamBindConfig.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamBindConfig.java
new file mode 100644
index 000000000..28481d5a2
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamBindConfig.java
@@ -0,0 +1,628 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * <pre>
+ * An extensible structure containing the address Envoy should bind to when
+ * establishing upstream connections.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.UpstreamBindConfig}
+ */
+public final class UpstreamBindConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.UpstreamBindConfig)
+ UpstreamBindConfigOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UpstreamBindConfig.newBuilder() to construct.
+ private UpstreamBindConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private UpstreamBindConfig() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UpstreamBindConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder subBuilder = null;
+ if (sourceAddress_ != null) {
+ subBuilder = sourceAddress_.toBuilder();
+ }
+ sourceAddress_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Address.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(sourceAddress_);
+ sourceAddress_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamBindConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamBindConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig.class, io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig.Builder.class);
+ }
+
+ public static final int SOURCE_ADDRESS_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Address sourceAddress_;
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public boolean hasSourceAddress() {
+ return sourceAddress_ != null;
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getSourceAddress() {
+ return sourceAddress_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : sourceAddress_;
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getSourceAddressOrBuilder() {
+ return getSourceAddress();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (sourceAddress_ != null) {
+ output.writeMessage(1, getSourceAddress());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (sourceAddress_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getSourceAddress());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig other = (io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig) obj;
+
+ boolean result = true;
+ result = result && (hasSourceAddress() == other.hasSourceAddress());
+ if (hasSourceAddress()) {
+ result = result && getSourceAddress()
+ .equals(other.getSourceAddress());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasSourceAddress()) {
+ hash = (37 * hash) + SOURCE_ADDRESS_FIELD_NUMBER;
+ hash = (53 * hash) + getSourceAddress().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * An extensible structure containing the address Envoy should bind to when
+ * establishing upstream connections.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.UpstreamBindConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.UpstreamBindConfig)
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamBindConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamBindConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig.class, io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (sourceAddressBuilder_ == null) {
+ sourceAddress_ = null;
+ } else {
+ sourceAddress_ = null;
+ sourceAddressBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamBindConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig result = new io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig(this);
+ if (sourceAddressBuilder_ == null) {
+ result.sourceAddress_ = sourceAddress_;
+ } else {
+ result.sourceAddress_ = sourceAddressBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig.getDefaultInstance()) return this;
+ if (other.hasSourceAddress()) {
+ mergeSourceAddress(other.getSourceAddress());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Address sourceAddress_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder> sourceAddressBuilder_;
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public boolean hasSourceAddress() {
+ return sourceAddressBuilder_ != null || sourceAddress_ != null;
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getSourceAddress() {
+ if (sourceAddressBuilder_ == null) {
+ return sourceAddress_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : sourceAddress_;
+ } else {
+ return sourceAddressBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public Builder setSourceAddress(io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (sourceAddressBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ sourceAddress_ = value;
+ onChanged();
+ } else {
+ sourceAddressBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public Builder setSourceAddress(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (sourceAddressBuilder_ == null) {
+ sourceAddress_ = builderForValue.build();
+ onChanged();
+ } else {
+ sourceAddressBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public Builder mergeSourceAddress(io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (sourceAddressBuilder_ == null) {
+ if (sourceAddress_ != null) {
+ sourceAddress_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.newBuilder(sourceAddress_).mergeFrom(value).buildPartial();
+ } else {
+ sourceAddress_ = value;
+ }
+ onChanged();
+ } else {
+ sourceAddressBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public Builder clearSourceAddress() {
+ if (sourceAddressBuilder_ == null) {
+ sourceAddress_ = null;
+ onChanged();
+ } else {
+ sourceAddress_ = null;
+ sourceAddressBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder getSourceAddressBuilder() {
+
+ onChanged();
+ return getSourceAddressFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getSourceAddressOrBuilder() {
+ if (sourceAddressBuilder_ != null) {
+ return sourceAddressBuilder_.getMessageOrBuilder();
+ } else {
+ return sourceAddress_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : sourceAddress_;
+ }
+ }
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getSourceAddressFieldBuilder() {
+ if (sourceAddressBuilder_ == null) {
+ sourceAddressBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>(
+ getSourceAddress(),
+ getParentForChildren(),
+ isClean());
+ sourceAddress_ = null;
+ }
+ return sourceAddressBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.UpstreamBindConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.UpstreamBindConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<UpstreamBindConfig>
+ PARSER = new com.google.protobuf.AbstractParser<UpstreamBindConfig>() {
+ public UpstreamBindConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UpstreamBindConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<UpstreamBindConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<UpstreamBindConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamBindConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamBindConfigOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamBindConfigOrBuilder.java
new file mode 100644
index 000000000..9455be700
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamBindConfigOrBuilder.java
@@ -0,0 +1,34 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface UpstreamBindConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.UpstreamBindConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ boolean hasSourceAddress();
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Address getSourceAddress();
+ /**
+ * <pre>
+ * The address Envoy should bind to when establishing upstream connections.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address source_address = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getSourceAddressOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamConnectionOptions.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamConnectionOptions.java
new file mode 100644
index 000000000..036a97107
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamConnectionOptions.java
@@ -0,0 +1,618 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+/**
+ * Protobuf type {@code envoy.api.v2.UpstreamConnectionOptions}
+ */
+public final class UpstreamConnectionOptions extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.UpstreamConnectionOptions)
+ UpstreamConnectionOptionsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UpstreamConnectionOptions.newBuilder() to construct.
+ private UpstreamConnectionOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private UpstreamConnectionOptions() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UpstreamConnectionOptions(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.Builder subBuilder = null;
+ if (tcpKeepalive_ != null) {
+ subBuilder = tcpKeepalive_.toBuilder();
+ }
+ tcpKeepalive_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(tcpKeepalive_);
+ tcpKeepalive_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamConnectionOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamConnectionOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.class, io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.Builder.class);
+ }
+
+ public static final int TCP_KEEPALIVE_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive tcpKeepalive_;
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public boolean hasTcpKeepalive() {
+ return tcpKeepalive_ != null;
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive getTcpKeepalive() {
+ return tcpKeepalive_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.getDefaultInstance() : tcpKeepalive_;
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepaliveOrBuilder getTcpKeepaliveOrBuilder() {
+ return getTcpKeepalive();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (tcpKeepalive_ != null) {
+ output.writeMessage(1, getTcpKeepalive());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (tcpKeepalive_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getTcpKeepalive());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions other = (io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions) obj;
+
+ boolean result = true;
+ result = result && (hasTcpKeepalive() == other.hasTcpKeepalive());
+ if (hasTcpKeepalive()) {
+ result = result && getTcpKeepalive()
+ .equals(other.getTcpKeepalive());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasTcpKeepalive()) {
+ hash = (37 * hash) + TCP_KEEPALIVE_FIELD_NUMBER;
+ hash = (53 * hash) + getTcpKeepalive().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.UpstreamConnectionOptions}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.UpstreamConnectionOptions)
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptionsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamConnectionOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamConnectionOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.class, io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (tcpKeepaliveBuilder_ == null) {
+ tcpKeepalive_ = null;
+ } else {
+ tcpKeepalive_ = null;
+ tcpKeepaliveBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.Cds.internal_static_envoy_api_v2_UpstreamConnectionOptions_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions build() {
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions result = new io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions(this);
+ if (tcpKeepaliveBuilder_ == null) {
+ result.tcpKeepalive_ = tcpKeepalive_;
+ } else {
+ result.tcpKeepalive_ = tcpKeepaliveBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions.getDefaultInstance()) return this;
+ if (other.hasTcpKeepalive()) {
+ mergeTcpKeepalive(other.getTcpKeepalive());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive tcpKeepalive_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive, io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.Builder, io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepaliveOrBuilder> tcpKeepaliveBuilder_;
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public boolean hasTcpKeepalive() {
+ return tcpKeepaliveBuilder_ != null || tcpKeepalive_ != null;
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive getTcpKeepalive() {
+ if (tcpKeepaliveBuilder_ == null) {
+ return tcpKeepalive_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.getDefaultInstance() : tcpKeepalive_;
+ } else {
+ return tcpKeepaliveBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public Builder setTcpKeepalive(io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive value) {
+ if (tcpKeepaliveBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ tcpKeepalive_ = value;
+ onChanged();
+ } else {
+ tcpKeepaliveBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public Builder setTcpKeepalive(
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.Builder builderForValue) {
+ if (tcpKeepaliveBuilder_ == null) {
+ tcpKeepalive_ = builderForValue.build();
+ onChanged();
+ } else {
+ tcpKeepaliveBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public Builder mergeTcpKeepalive(io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive value) {
+ if (tcpKeepaliveBuilder_ == null) {
+ if (tcpKeepalive_ != null) {
+ tcpKeepalive_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.newBuilder(tcpKeepalive_).mergeFrom(value).buildPartial();
+ } else {
+ tcpKeepalive_ = value;
+ }
+ onChanged();
+ } else {
+ tcpKeepaliveBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public Builder clearTcpKeepalive() {
+ if (tcpKeepaliveBuilder_ == null) {
+ tcpKeepalive_ = null;
+ onChanged();
+ } else {
+ tcpKeepalive_ = null;
+ tcpKeepaliveBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.Builder getTcpKeepaliveBuilder() {
+
+ onChanged();
+ return getTcpKeepaliveFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepaliveOrBuilder getTcpKeepaliveOrBuilder() {
+ if (tcpKeepaliveBuilder_ != null) {
+ return tcpKeepaliveBuilder_.getMessageOrBuilder();
+ } else {
+ return tcpKeepalive_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.getDefaultInstance() : tcpKeepalive_;
+ }
+ }
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive, io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.Builder, io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepaliveOrBuilder>
+ getTcpKeepaliveFieldBuilder() {
+ if (tcpKeepaliveBuilder_ == null) {
+ tcpKeepaliveBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive, io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.Builder, io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepaliveOrBuilder>(
+ getTcpKeepalive(),
+ getParentForChildren(),
+ isClean());
+ tcpKeepalive_ = null;
+ }
+ return tcpKeepaliveBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.UpstreamConnectionOptions)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.UpstreamConnectionOptions)
+ private static final io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<UpstreamConnectionOptions>
+ PARSER = new com.google.protobuf.AbstractParser<UpstreamConnectionOptions>() {
+ public UpstreamConnectionOptions parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UpstreamConnectionOptions(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<UpstreamConnectionOptions> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<UpstreamConnectionOptions> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.UpstreamConnectionOptions getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamConnectionOptionsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamConnectionOptionsOrBuilder.java
new file mode 100644
index 000000000..c7c16311c
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/UpstreamConnectionOptionsOrBuilder.java
@@ -0,0 +1,34 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cds.proto
+
+package io.grpc.xds.shaded.envoy.api.v2;
+
+public interface UpstreamConnectionOptionsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.UpstreamConnectionOptions)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ boolean hasTcpKeepalive();
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive getTcpKeepalive();
+ /**
+ * <pre>
+ * If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.TcpKeepalive tcp_keepalive = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepaliveOrBuilder getTcpKeepaliveOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/Cert.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/Cert.java
new file mode 100644
index 000000000..48add1b6e
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/Cert.java
@@ -0,0 +1,242 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public final class Cert {
+ private Cert() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_TlsParameters_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_TlsParameters_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_TlsCertificate_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_TlsCertificate_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_CertificateValidationContext_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_CertificateValidationContext_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_CommonTlsContext_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_CommonTlsContext_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_UpstreamTlsContext_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_UpstreamTlsContext_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_DownstreamTlsContext_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_DownstreamTlsContext_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_SdsSecretConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_SdsSecretConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_auth_Secret_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_auth_Secret_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\034envoy/api/v2/auth/cert.proto\022\021envoy.ap" +
+ "i.v2.auth\032\034envoy/api/v2/core/base.proto\032" +
+ "%envoy/api/v2/core/config_source.proto\032\036" +
+ "google/protobuf/wrappers.proto\032\027validate" +
+ "/validate.proto\"\314\002\n\rTlsParameters\022^\n\034tls" +
+ "_minimum_protocol_version\030\001 \001(\0162,.envoy." +
+ "api.v2.auth.TlsParameters.TlsProtocolB\n\272" +
+ "\351\300\003\005\202\001\002\020\001\022^\n\034tls_maximum_protocol_versio" +
+ "n\030\002 \001(\0162,.envoy.api.v2.auth.TlsParameter" +
+ "s.TlsProtocolB\n\272\351\300\003\005\202\001\002\020\001\022\025\n\rcipher_suit" +
+ "es\030\003 \003(\t\022\023\n\013ecdh_curves\030\004 \003(\t\"O\n\013TlsProt" +
+ "ocol\022\014\n\010TLS_AUTO\020\000\022\013\n\007TLSv1_0\020\001\022\013\n\007TLSv1" +
+ "_1\020\002\022\013\n\007TLSv1_2\020\003\022\013\n\007TLSv1_3\020\004\"\250\002\n\016TlsCe" +
+ "rtificate\0228\n\021certificate_chain\030\001 \001(\0132\035.e" +
+ "nvoy.api.v2.core.DataSource\0222\n\013private_k" +
+ "ey\030\002 \001(\0132\035.envoy.api.v2.core.DataSource\022" +
+ "/\n\010password\030\003 \001(\0132\035.envoy.api.v2.core.Da" +
+ "taSource\0222\n\013ocsp_staple\030\004 \001(\0132\035.envoy.ap" +
+ "i.v2.core.DataSource\022C\n\034signed_certifica" +
+ "te_timestamp\030\005 \003(\0132\035.envoy.api.v2.core.D" +
+ "ataSource\"O\n\024TlsSessionTicketKeys\0227\n\004key" +
+ "s\030\001 \003(\0132\035.envoy.api.v2.core.DataSourceB\n" +
+ "\272\351\300\003\005\222\001\002\010\001\"\252\003\n\034CertificateValidationCont" +
+ "ext\0221\n\ntrusted_ca\030\001 \001(\0132\035.envoy.api.v2.c" +
+ "ore.DataSource\0221\n\027verify_certificate_spk" +
+ "i\030\003 \003(\tB\020\272\351\300\003\013\222\001\010\"\006r\004 ,(,\0221\n\027verify_cert" +
+ "ificate_hash\030\002 \003(\tB\020\272\351\300\003\013\222\001\010\"\006r\004 @(_\022\037\n\027" +
+ "verify_subject_alt_name\030\004 \003(\t\0227\n\023require" +
+ "_ocsp_staple\030\005 \001(\0132\032.google.protobuf.Boo" +
+ "lValue\022H\n$require_signed_certificate_tim" +
+ "estamp\030\006 \001(\0132\032.google.protobuf.BoolValue" +
+ "\022*\n\003crl\030\007 \001(\0132\035.envoy.api.v2.core.DataSo" +
+ "urce\022!\n\031allow_expired_certificate\030\010 \001(\010\"" +
+ "\212\006\n\020CommonTlsContext\0224\n\ntls_params\030\001 \001(\013" +
+ "2 .envoy.api.v2.auth.TlsParameters\022;\n\020tl" +
+ "s_certificates\030\002 \003(\0132!.envoy.api.v2.auth" +
+ ".TlsCertificate\022N\n\"tls_certificate_sds_s" +
+ "ecret_configs\030\006 \003(\0132\".envoy.api.v2.auth." +
+ "SdsSecretConfig\022M\n\022validation_context\030\003 " +
+ "\001(\0132/.envoy.api.v2.auth.CertificateValid" +
+ "ationContextH\000\022R\n$validation_context_sds" +
+ "_secret_config\030\007 \001(\0132\".envoy.api.v2.auth" +
+ ".SdsSecretConfigH\000\022o\n\033combined_validatio" +
+ "n_context\030\010 \001(\0132H.envoy.api.v2.auth.Comm" +
+ "onTlsContext.CombinedCertificateValidati" +
+ "onContextH\000\022\026\n\016alpn_protocols\030\004 \003(\t\032\345\001\n$" +
+ "CombinedCertificateValidationContext\022_\n\032" +
+ "default_validation_context\030\001 \001(\0132/.envoy" +
+ ".api.v2.auth.CertificateValidationContex" +
+ "tB\n\272\351\300\003\005\212\001\002\020\001\022\\\n$validation_context_sds_" +
+ "secret_config\030\002 \001(\0132\".envoy.api.v2.auth." +
+ "SdsSecretConfigB\n\272\351\300\003\005\212\001\002\020\001B\031\n\027validatio" +
+ "n_context_typeJ\004\010\005\020\006\"\303\001\n\022UpstreamTlsCont" +
+ "ext\022?\n\022common_tls_context\030\001 \001(\0132#.envoy." +
+ "api.v2.auth.CommonTlsContext\022\027\n\003sni\030\002 \001(" +
+ "\tB\n\272\351\300\003\005r\003(\377\001\022\033\n\023allow_renegotiation\030\003 \001" +
+ "(\010\0226\n\020max_session_keys\030\004 \001(\0132\034.google.pr" +
+ "otobuf.UInt32Value\"\201\003\n\024DownstreamTlsCont" +
+ "ext\022?\n\022common_tls_context\030\001 \001(\0132#.envoy." +
+ "api.v2.auth.CommonTlsContext\022>\n\032require_" +
+ "client_certificate\030\002 \001(\0132\032.google.protob" +
+ "uf.BoolValue\022/\n\013require_sni\030\003 \001(\0132\032.goog" +
+ "le.protobuf.BoolValue\022F\n\023session_ticket_" +
+ "keys\030\004 \001(\0132\'.envoy.api.v2.auth.TlsSessio" +
+ "nTicketKeysH\000\022S\n%session_ticket_keys_sds" +
+ "_secret_config\030\005 \001(\0132\".envoy.api.v2.auth" +
+ ".SdsSecretConfigH\000B\032\n\030session_ticket_key" +
+ "s_type\"T\n\017SdsSecretConfig\022\014\n\004name\030\001 \001(\t\022" +
+ "3\n\nsds_config\030\002 \001(\0132\037.envoy.api.v2.core." +
+ "ConfigSource\"\363\001\n\006Secret\022\014\n\004name\030\001 \001(\t\022<\n" +
+ "\017tls_certificate\030\002 \001(\0132!.envoy.api.v2.au" +
+ "th.TlsCertificateH\000\022F\n\023session_ticket_ke" +
+ "ys\030\003 \001(\0132\'.envoy.api.v2.auth.TlsSessionT" +
+ "icketKeysH\000\022M\n\022validation_context\030\004 \001(\0132" +
+ "/.envoy.api.v2.auth.CertificateValidatio" +
+ "nContextH\000B\006\n\004typeB.\n$io.grpc.xds.shaded" +
+ ".envoy.api.v2.authP\001Z\004authb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_auth_TlsParameters_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_auth_TlsParameters_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_TlsParameters_descriptor,
+ new java.lang.String[] { "TlsMinimumProtocolVersion", "TlsMaximumProtocolVersion", "CipherSuites", "EcdhCurves", });
+ internal_static_envoy_api_v2_auth_TlsCertificate_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_auth_TlsCertificate_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_TlsCertificate_descriptor,
+ new java.lang.String[] { "CertificateChain", "PrivateKey", "Password", "OcspStaple", "SignedCertificateTimestamp", });
+ internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_descriptor,
+ new java.lang.String[] { "Keys", });
+ internal_static_envoy_api_v2_auth_CertificateValidationContext_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_envoy_api_v2_auth_CertificateValidationContext_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_CertificateValidationContext_descriptor,
+ new java.lang.String[] { "TrustedCa", "VerifyCertificateSpki", "VerifyCertificateHash", "VerifySubjectAltName", "RequireOcspStaple", "RequireSignedCertificateTimestamp", "Crl", "AllowExpiredCertificate", });
+ internal_static_envoy_api_v2_auth_CommonTlsContext_descriptor =
+ getDescriptor().getMessageTypes().get(4);
+ internal_static_envoy_api_v2_auth_CommonTlsContext_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_CommonTlsContext_descriptor,
+ new java.lang.String[] { "TlsParams", "TlsCertificates", "TlsCertificateSdsSecretConfigs", "ValidationContext", "ValidationContextSdsSecretConfig", "CombinedValidationContext", "AlpnProtocols", "ValidationContextType", });
+ internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_descriptor =
+ internal_static_envoy_api_v2_auth_CommonTlsContext_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_descriptor,
+ new java.lang.String[] { "DefaultValidationContext", "ValidationContextSdsSecretConfig", });
+ internal_static_envoy_api_v2_auth_UpstreamTlsContext_descriptor =
+ getDescriptor().getMessageTypes().get(5);
+ internal_static_envoy_api_v2_auth_UpstreamTlsContext_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_UpstreamTlsContext_descriptor,
+ new java.lang.String[] { "CommonTlsContext", "Sni", "AllowRenegotiation", "MaxSessionKeys", });
+ internal_static_envoy_api_v2_auth_DownstreamTlsContext_descriptor =
+ getDescriptor().getMessageTypes().get(6);
+ internal_static_envoy_api_v2_auth_DownstreamTlsContext_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_DownstreamTlsContext_descriptor,
+ new java.lang.String[] { "CommonTlsContext", "RequireClientCertificate", "RequireSni", "SessionTicketKeys", "SessionTicketKeysSdsSecretConfig", "SessionTicketKeysType", });
+ internal_static_envoy_api_v2_auth_SdsSecretConfig_descriptor =
+ getDescriptor().getMessageTypes().get(7);
+ internal_static_envoy_api_v2_auth_SdsSecretConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_SdsSecretConfig_descriptor,
+ new java.lang.String[] { "Name", "SdsConfig", });
+ internal_static_envoy_api_v2_auth_Secret_descriptor =
+ getDescriptor().getMessageTypes().get(8);
+ internal_static_envoy_api_v2_auth_Secret_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_auth_Secret_descriptor,
+ new java.lang.String[] { "Name", "TlsCertificate", "SessionTicketKeys", "ValidationContext", "Type", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CertificateValidationContext.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CertificateValidationContext.java
new file mode 100644
index 000000000..e28c5574c
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CertificateValidationContext.java
@@ -0,0 +1,2863 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * Protobuf type {@code envoy.api.v2.auth.CertificateValidationContext}
+ */
+public final class CertificateValidationContext extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.CertificateValidationContext)
+ CertificateValidationContextOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use CertificateValidationContext.newBuilder() to construct.
+ private CertificateValidationContext(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CertificateValidationContext() {
+ verifyCertificateSpki_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ verifyCertificateHash_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ verifySubjectAltName_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ allowExpiredCertificate_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CertificateValidationContext(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (trustedCa_ != null) {
+ subBuilder = trustedCa_.toBuilder();
+ }
+ trustedCa_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(trustedCa_);
+ trustedCa_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ verifyCertificateHash_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ verifyCertificateHash_.add(s);
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ verifyCertificateSpki_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ verifyCertificateSpki_.add(s);
+ break;
+ }
+ case 34: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ verifySubjectAltName_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000008;
+ }
+ verifySubjectAltName_.add(s);
+ break;
+ }
+ case 42: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (requireOcspStaple_ != null) {
+ subBuilder = requireOcspStaple_.toBuilder();
+ }
+ requireOcspStaple_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(requireOcspStaple_);
+ requireOcspStaple_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 50: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (requireSignedCertificateTimestamp_ != null) {
+ subBuilder = requireSignedCertificateTimestamp_.toBuilder();
+ }
+ requireSignedCertificateTimestamp_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(requireSignedCertificateTimestamp_);
+ requireSignedCertificateTimestamp_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 58: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (crl_ != null) {
+ subBuilder = crl_.toBuilder();
+ }
+ crl_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(crl_);
+ crl_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 64: {
+
+ allowExpiredCertificate_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ verifyCertificateHash_ = verifyCertificateHash_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ verifyCertificateSpki_ = verifyCertificateSpki_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ verifySubjectAltName_ = verifySubjectAltName_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CertificateValidationContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CertificateValidationContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int TRUSTED_CA_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource trustedCa_;
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public boolean hasTrustedCa() {
+ return trustedCa_ != null;
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getTrustedCa() {
+ return trustedCa_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : trustedCa_;
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getTrustedCaOrBuilder() {
+ return getTrustedCa();
+ }
+
+ public static final int VERIFY_CERTIFICATE_SPKI_FIELD_NUMBER = 3;
+ private com.google.protobuf.LazyStringList verifyCertificateSpki_;
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getVerifyCertificateSpkiList() {
+ return verifyCertificateSpki_;
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public int getVerifyCertificateSpkiCount() {
+ return verifyCertificateSpki_.size();
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getVerifyCertificateSpki(int index) {
+ return verifyCertificateSpki_.get(index);
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getVerifyCertificateSpkiBytes(int index) {
+ return verifyCertificateSpki_.getByteString(index);
+ }
+
+ public static final int VERIFY_CERTIFICATE_HASH_FIELD_NUMBER = 2;
+ private com.google.protobuf.LazyStringList verifyCertificateHash_;
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getVerifyCertificateHashList() {
+ return verifyCertificateHash_;
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getVerifyCertificateHashCount() {
+ return verifyCertificateHash_.size();
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getVerifyCertificateHash(int index) {
+ return verifyCertificateHash_.get(index);
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getVerifyCertificateHashBytes(int index) {
+ return verifyCertificateHash_.getByteString(index);
+ }
+
+ public static final int VERIFY_SUBJECT_ALT_NAME_FIELD_NUMBER = 4;
+ private com.google.protobuf.LazyStringList verifySubjectAltName_;
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getVerifySubjectAltNameList() {
+ return verifySubjectAltName_;
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public int getVerifySubjectAltNameCount() {
+ return verifySubjectAltName_.size();
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public java.lang.String getVerifySubjectAltName(int index) {
+ return verifySubjectAltName_.get(index);
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVerifySubjectAltNameBytes(int index) {
+ return verifySubjectAltName_.getByteString(index);
+ }
+
+ public static final int REQUIRE_OCSP_STAPLE_FIELD_NUMBER = 5;
+ private com.google.protobuf.BoolValue requireOcspStaple_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public boolean hasRequireOcspStaple() {
+ return requireOcspStaple_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public com.google.protobuf.BoolValue getRequireOcspStaple() {
+ return requireOcspStaple_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : requireOcspStaple_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getRequireOcspStapleOrBuilder() {
+ return getRequireOcspStaple();
+ }
+
+ public static final int REQUIRE_SIGNED_CERTIFICATE_TIMESTAMP_FIELD_NUMBER = 6;
+ private com.google.protobuf.BoolValue requireSignedCertificateTimestamp_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public boolean hasRequireSignedCertificateTimestamp() {
+ return requireSignedCertificateTimestamp_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public com.google.protobuf.BoolValue getRequireSignedCertificateTimestamp() {
+ return requireSignedCertificateTimestamp_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : requireSignedCertificateTimestamp_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getRequireSignedCertificateTimestampOrBuilder() {
+ return getRequireSignedCertificateTimestamp();
+ }
+
+ public static final int CRL_FIELD_NUMBER = 7;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource crl_;
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public boolean hasCrl() {
+ return crl_ != null;
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCrl() {
+ return crl_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : crl_;
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCrlOrBuilder() {
+ return getCrl();
+ }
+
+ public static final int ALLOW_EXPIRED_CERTIFICATE_FIELD_NUMBER = 8;
+ private boolean allowExpiredCertificate_;
+ /**
+ * <pre>
+ * If specified, Envoy will not reject expired certificates.
+ * </pre>
+ *
+ * <code>bool allow_expired_certificate = 8;</code>
+ */
+ public boolean getAllowExpiredCertificate() {
+ return allowExpiredCertificate_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (trustedCa_ != null) {
+ output.writeMessage(1, getTrustedCa());
+ }
+ for (int i = 0; i < verifyCertificateHash_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, verifyCertificateHash_.getRaw(i));
+ }
+ for (int i = 0; i < verifyCertificateSpki_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, verifyCertificateSpki_.getRaw(i));
+ }
+ for (int i = 0; i < verifySubjectAltName_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, verifySubjectAltName_.getRaw(i));
+ }
+ if (requireOcspStaple_ != null) {
+ output.writeMessage(5, getRequireOcspStaple());
+ }
+ if (requireSignedCertificateTimestamp_ != null) {
+ output.writeMessage(6, getRequireSignedCertificateTimestamp());
+ }
+ if (crl_ != null) {
+ output.writeMessage(7, getCrl());
+ }
+ if (allowExpiredCertificate_ != false) {
+ output.writeBool(8, allowExpiredCertificate_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (trustedCa_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getTrustedCa());
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < verifyCertificateHash_.size(); i++) {
+ dataSize += computeStringSizeNoTag(verifyCertificateHash_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getVerifyCertificateHashList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < verifyCertificateSpki_.size(); i++) {
+ dataSize += computeStringSizeNoTag(verifyCertificateSpki_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getVerifyCertificateSpkiList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < verifySubjectAltName_.size(); i++) {
+ dataSize += computeStringSizeNoTag(verifySubjectAltName_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getVerifySubjectAltNameList().size();
+ }
+ if (requireOcspStaple_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getRequireOcspStaple());
+ }
+ if (requireSignedCertificateTimestamp_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getRequireSignedCertificateTimestamp());
+ }
+ if (crl_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, getCrl());
+ }
+ if (allowExpiredCertificate_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(8, allowExpiredCertificate_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext other = (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) obj;
+
+ boolean result = true;
+ result = result && (hasTrustedCa() == other.hasTrustedCa());
+ if (hasTrustedCa()) {
+ result = result && getTrustedCa()
+ .equals(other.getTrustedCa());
+ }
+ result = result && getVerifyCertificateSpkiList()
+ .equals(other.getVerifyCertificateSpkiList());
+ result = result && getVerifyCertificateHashList()
+ .equals(other.getVerifyCertificateHashList());
+ result = result && getVerifySubjectAltNameList()
+ .equals(other.getVerifySubjectAltNameList());
+ result = result && (hasRequireOcspStaple() == other.hasRequireOcspStaple());
+ if (hasRequireOcspStaple()) {
+ result = result && getRequireOcspStaple()
+ .equals(other.getRequireOcspStaple());
+ }
+ result = result && (hasRequireSignedCertificateTimestamp() == other.hasRequireSignedCertificateTimestamp());
+ if (hasRequireSignedCertificateTimestamp()) {
+ result = result && getRequireSignedCertificateTimestamp()
+ .equals(other.getRequireSignedCertificateTimestamp());
+ }
+ result = result && (hasCrl() == other.hasCrl());
+ if (hasCrl()) {
+ result = result && getCrl()
+ .equals(other.getCrl());
+ }
+ result = result && (getAllowExpiredCertificate()
+ == other.getAllowExpiredCertificate());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasTrustedCa()) {
+ hash = (37 * hash) + TRUSTED_CA_FIELD_NUMBER;
+ hash = (53 * hash) + getTrustedCa().hashCode();
+ }
+ if (getVerifyCertificateSpkiCount() > 0) {
+ hash = (37 * hash) + VERIFY_CERTIFICATE_SPKI_FIELD_NUMBER;
+ hash = (53 * hash) + getVerifyCertificateSpkiList().hashCode();
+ }
+ if (getVerifyCertificateHashCount() > 0) {
+ hash = (37 * hash) + VERIFY_CERTIFICATE_HASH_FIELD_NUMBER;
+ hash = (53 * hash) + getVerifyCertificateHashList().hashCode();
+ }
+ if (getVerifySubjectAltNameCount() > 0) {
+ hash = (37 * hash) + VERIFY_SUBJECT_ALT_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getVerifySubjectAltNameList().hashCode();
+ }
+ if (hasRequireOcspStaple()) {
+ hash = (37 * hash) + REQUIRE_OCSP_STAPLE_FIELD_NUMBER;
+ hash = (53 * hash) + getRequireOcspStaple().hashCode();
+ }
+ if (hasRequireSignedCertificateTimestamp()) {
+ hash = (37 * hash) + REQUIRE_SIGNED_CERTIFICATE_TIMESTAMP_FIELD_NUMBER;
+ hash = (53 * hash) + getRequireSignedCertificateTimestamp().hashCode();
+ }
+ if (hasCrl()) {
+ hash = (37 * hash) + CRL_FIELD_NUMBER;
+ hash = (53 * hash) + getCrl().hashCode();
+ }
+ hash = (37 * hash) + ALLOW_EXPIRED_CERTIFICATE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getAllowExpiredCertificate());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.auth.CertificateValidationContext}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.CertificateValidationContext)
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CertificateValidationContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CertificateValidationContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (trustedCaBuilder_ == null) {
+ trustedCa_ = null;
+ } else {
+ trustedCa_ = null;
+ trustedCaBuilder_ = null;
+ }
+ verifyCertificateSpki_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ verifyCertificateHash_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ verifySubjectAltName_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ if (requireOcspStapleBuilder_ == null) {
+ requireOcspStaple_ = null;
+ } else {
+ requireOcspStaple_ = null;
+ requireOcspStapleBuilder_ = null;
+ }
+ if (requireSignedCertificateTimestampBuilder_ == null) {
+ requireSignedCertificateTimestamp_ = null;
+ } else {
+ requireSignedCertificateTimestamp_ = null;
+ requireSignedCertificateTimestampBuilder_ = null;
+ }
+ if (crlBuilder_ == null) {
+ crl_ = null;
+ } else {
+ crl_ = null;
+ crlBuilder_ = null;
+ }
+ allowExpiredCertificate_ = false;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CertificateValidationContext_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext result = new io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (trustedCaBuilder_ == null) {
+ result.trustedCa_ = trustedCa_;
+ } else {
+ result.trustedCa_ = trustedCaBuilder_.build();
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ verifyCertificateSpki_ = verifyCertificateSpki_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.verifyCertificateSpki_ = verifyCertificateSpki_;
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ verifyCertificateHash_ = verifyCertificateHash_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.verifyCertificateHash_ = verifyCertificateHash_;
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ verifySubjectAltName_ = verifySubjectAltName_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ }
+ result.verifySubjectAltName_ = verifySubjectAltName_;
+ if (requireOcspStapleBuilder_ == null) {
+ result.requireOcspStaple_ = requireOcspStaple_;
+ } else {
+ result.requireOcspStaple_ = requireOcspStapleBuilder_.build();
+ }
+ if (requireSignedCertificateTimestampBuilder_ == null) {
+ result.requireSignedCertificateTimestamp_ = requireSignedCertificateTimestamp_;
+ } else {
+ result.requireSignedCertificateTimestamp_ = requireSignedCertificateTimestampBuilder_.build();
+ }
+ if (crlBuilder_ == null) {
+ result.crl_ = crl_;
+ } else {
+ result.crl_ = crlBuilder_.build();
+ }
+ result.allowExpiredCertificate_ = allowExpiredCertificate_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance()) return this;
+ if (other.hasTrustedCa()) {
+ mergeTrustedCa(other.getTrustedCa());
+ }
+ if (!other.verifyCertificateSpki_.isEmpty()) {
+ if (verifyCertificateSpki_.isEmpty()) {
+ verifyCertificateSpki_ = other.verifyCertificateSpki_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureVerifyCertificateSpkiIsMutable();
+ verifyCertificateSpki_.addAll(other.verifyCertificateSpki_);
+ }
+ onChanged();
+ }
+ if (!other.verifyCertificateHash_.isEmpty()) {
+ if (verifyCertificateHash_.isEmpty()) {
+ verifyCertificateHash_ = other.verifyCertificateHash_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureVerifyCertificateHashIsMutable();
+ verifyCertificateHash_.addAll(other.verifyCertificateHash_);
+ }
+ onChanged();
+ }
+ if (!other.verifySubjectAltName_.isEmpty()) {
+ if (verifySubjectAltName_.isEmpty()) {
+ verifySubjectAltName_ = other.verifySubjectAltName_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ ensureVerifySubjectAltNameIsMutable();
+ verifySubjectAltName_.addAll(other.verifySubjectAltName_);
+ }
+ onChanged();
+ }
+ if (other.hasRequireOcspStaple()) {
+ mergeRequireOcspStaple(other.getRequireOcspStaple());
+ }
+ if (other.hasRequireSignedCertificateTimestamp()) {
+ mergeRequireSignedCertificateTimestamp(other.getRequireSignedCertificateTimestamp());
+ }
+ if (other.hasCrl()) {
+ mergeCrl(other.getCrl());
+ }
+ if (other.getAllowExpiredCertificate() != false) {
+ setAllowExpiredCertificate(other.getAllowExpiredCertificate());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource trustedCa_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> trustedCaBuilder_;
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public boolean hasTrustedCa() {
+ return trustedCaBuilder_ != null || trustedCa_ != null;
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getTrustedCa() {
+ if (trustedCaBuilder_ == null) {
+ return trustedCa_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : trustedCa_;
+ } else {
+ return trustedCaBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public Builder setTrustedCa(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (trustedCaBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ trustedCa_ = value;
+ onChanged();
+ } else {
+ trustedCaBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public Builder setTrustedCa(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (trustedCaBuilder_ == null) {
+ trustedCa_ = builderForValue.build();
+ onChanged();
+ } else {
+ trustedCaBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public Builder mergeTrustedCa(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (trustedCaBuilder_ == null) {
+ if (trustedCa_ != null) {
+ trustedCa_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(trustedCa_).mergeFrom(value).buildPartial();
+ } else {
+ trustedCa_ = value;
+ }
+ onChanged();
+ } else {
+ trustedCaBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public Builder clearTrustedCa() {
+ if (trustedCaBuilder_ == null) {
+ trustedCa_ = null;
+ onChanged();
+ } else {
+ trustedCa_ = null;
+ trustedCaBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getTrustedCaBuilder() {
+
+ onChanged();
+ return getTrustedCaFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getTrustedCaOrBuilder() {
+ if (trustedCaBuilder_ != null) {
+ return trustedCaBuilder_.getMessageOrBuilder();
+ } else {
+ return trustedCa_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : trustedCa_;
+ }
+ }
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getTrustedCaFieldBuilder() {
+ if (trustedCaBuilder_ == null) {
+ trustedCaBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getTrustedCa(),
+ getParentForChildren(),
+ isClean());
+ trustedCa_ = null;
+ }
+ return trustedCaBuilder_;
+ }
+
+ private com.google.protobuf.LazyStringList verifyCertificateSpki_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureVerifyCertificateSpkiIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ verifyCertificateSpki_ = new com.google.protobuf.LazyStringArrayList(verifyCertificateSpki_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getVerifyCertificateSpkiList() {
+ return verifyCertificateSpki_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public int getVerifyCertificateSpkiCount() {
+ return verifyCertificateSpki_.size();
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getVerifyCertificateSpki(int index) {
+ return verifyCertificateSpki_.get(index);
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getVerifyCertificateSpkiBytes(int index) {
+ return verifyCertificateSpki_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setVerifyCertificateSpki(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureVerifyCertificateSpkiIsMutable();
+ verifyCertificateSpki_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addVerifyCertificateSpki(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureVerifyCertificateSpkiIsMutable();
+ verifyCertificateSpki_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addAllVerifyCertificateSpki(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureVerifyCertificateSpkiIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, verifyCertificateSpki_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearVerifyCertificateSpki() {
+ verifyCertificateSpki_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addVerifyCertificateSpkiBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureVerifyCertificateSpkiIsMutable();
+ verifyCertificateSpki_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList verifyCertificateHash_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureVerifyCertificateHashIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ verifyCertificateHash_ = new com.google.protobuf.LazyStringArrayList(verifyCertificateHash_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getVerifyCertificateHashList() {
+ return verifyCertificateHash_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getVerifyCertificateHashCount() {
+ return verifyCertificateHash_.size();
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getVerifyCertificateHash(int index) {
+ return verifyCertificateHash_.get(index);
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getVerifyCertificateHashBytes(int index) {
+ return verifyCertificateHash_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setVerifyCertificateHash(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureVerifyCertificateHashIsMutable();
+ verifyCertificateHash_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addVerifyCertificateHash(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureVerifyCertificateHashIsMutable();
+ verifyCertificateHash_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addAllVerifyCertificateHash(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureVerifyCertificateHashIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, verifyCertificateHash_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearVerifyCertificateHash() {
+ verifyCertificateHash_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addVerifyCertificateHashBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureVerifyCertificateHashIsMutable();
+ verifyCertificateHash_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList verifySubjectAltName_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureVerifySubjectAltNameIsMutable() {
+ if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+ verifySubjectAltName_ = new com.google.protobuf.LazyStringArrayList(verifySubjectAltName_);
+ bitField0_ |= 0x00000008;
+ }
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getVerifySubjectAltNameList() {
+ return verifySubjectAltName_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public int getVerifySubjectAltNameCount() {
+ return verifySubjectAltName_.size();
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public java.lang.String getVerifySubjectAltName(int index) {
+ return verifySubjectAltName_.get(index);
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getVerifySubjectAltNameBytes(int index) {
+ return verifySubjectAltName_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public Builder setVerifySubjectAltName(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureVerifySubjectAltNameIsMutable();
+ verifySubjectAltName_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public Builder addVerifySubjectAltName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureVerifySubjectAltNameIsMutable();
+ verifySubjectAltName_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public Builder addAllVerifySubjectAltName(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureVerifySubjectAltNameIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, verifySubjectAltName_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public Builder clearVerifySubjectAltName() {
+ verifySubjectAltName_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ public Builder addVerifySubjectAltNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureVerifySubjectAltNameIsMutable();
+ verifySubjectAltName_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.BoolValue requireOcspStaple_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> requireOcspStapleBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public boolean hasRequireOcspStaple() {
+ return requireOcspStapleBuilder_ != null || requireOcspStaple_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public com.google.protobuf.BoolValue getRequireOcspStaple() {
+ if (requireOcspStapleBuilder_ == null) {
+ return requireOcspStaple_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : requireOcspStaple_;
+ } else {
+ return requireOcspStapleBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public Builder setRequireOcspStaple(com.google.protobuf.BoolValue value) {
+ if (requireOcspStapleBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ requireOcspStaple_ = value;
+ onChanged();
+ } else {
+ requireOcspStapleBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public Builder setRequireOcspStaple(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (requireOcspStapleBuilder_ == null) {
+ requireOcspStaple_ = builderForValue.build();
+ onChanged();
+ } else {
+ requireOcspStapleBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public Builder mergeRequireOcspStaple(com.google.protobuf.BoolValue value) {
+ if (requireOcspStapleBuilder_ == null) {
+ if (requireOcspStaple_ != null) {
+ requireOcspStaple_ =
+ com.google.protobuf.BoolValue.newBuilder(requireOcspStaple_).mergeFrom(value).buildPartial();
+ } else {
+ requireOcspStaple_ = value;
+ }
+ onChanged();
+ } else {
+ requireOcspStapleBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public Builder clearRequireOcspStaple() {
+ if (requireOcspStapleBuilder_ == null) {
+ requireOcspStaple_ = null;
+ onChanged();
+ } else {
+ requireOcspStaple_ = null;
+ requireOcspStapleBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getRequireOcspStapleBuilder() {
+
+ onChanged();
+ return getRequireOcspStapleFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getRequireOcspStapleOrBuilder() {
+ if (requireOcspStapleBuilder_ != null) {
+ return requireOcspStapleBuilder_.getMessageOrBuilder();
+ } else {
+ return requireOcspStaple_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : requireOcspStaple_;
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getRequireOcspStapleFieldBuilder() {
+ if (requireOcspStapleBuilder_ == null) {
+ requireOcspStapleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getRequireOcspStaple(),
+ getParentForChildren(),
+ isClean());
+ requireOcspStaple_ = null;
+ }
+ return requireOcspStapleBuilder_;
+ }
+
+ private com.google.protobuf.BoolValue requireSignedCertificateTimestamp_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> requireSignedCertificateTimestampBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public boolean hasRequireSignedCertificateTimestamp() {
+ return requireSignedCertificateTimestampBuilder_ != null || requireSignedCertificateTimestamp_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public com.google.protobuf.BoolValue getRequireSignedCertificateTimestamp() {
+ if (requireSignedCertificateTimestampBuilder_ == null) {
+ return requireSignedCertificateTimestamp_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : requireSignedCertificateTimestamp_;
+ } else {
+ return requireSignedCertificateTimestampBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public Builder setRequireSignedCertificateTimestamp(com.google.protobuf.BoolValue value) {
+ if (requireSignedCertificateTimestampBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ requireSignedCertificateTimestamp_ = value;
+ onChanged();
+ } else {
+ requireSignedCertificateTimestampBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public Builder setRequireSignedCertificateTimestamp(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (requireSignedCertificateTimestampBuilder_ == null) {
+ requireSignedCertificateTimestamp_ = builderForValue.build();
+ onChanged();
+ } else {
+ requireSignedCertificateTimestampBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public Builder mergeRequireSignedCertificateTimestamp(com.google.protobuf.BoolValue value) {
+ if (requireSignedCertificateTimestampBuilder_ == null) {
+ if (requireSignedCertificateTimestamp_ != null) {
+ requireSignedCertificateTimestamp_ =
+ com.google.protobuf.BoolValue.newBuilder(requireSignedCertificateTimestamp_).mergeFrom(value).buildPartial();
+ } else {
+ requireSignedCertificateTimestamp_ = value;
+ }
+ onChanged();
+ } else {
+ requireSignedCertificateTimestampBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public Builder clearRequireSignedCertificateTimestamp() {
+ if (requireSignedCertificateTimestampBuilder_ == null) {
+ requireSignedCertificateTimestamp_ = null;
+ onChanged();
+ } else {
+ requireSignedCertificateTimestamp_ = null;
+ requireSignedCertificateTimestampBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getRequireSignedCertificateTimestampBuilder() {
+
+ onChanged();
+ return getRequireSignedCertificateTimestampFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getRequireSignedCertificateTimestampOrBuilder() {
+ if (requireSignedCertificateTimestampBuilder_ != null) {
+ return requireSignedCertificateTimestampBuilder_.getMessageOrBuilder();
+ } else {
+ return requireSignedCertificateTimestamp_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : requireSignedCertificateTimestamp_;
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getRequireSignedCertificateTimestampFieldBuilder() {
+ if (requireSignedCertificateTimestampBuilder_ == null) {
+ requireSignedCertificateTimestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getRequireSignedCertificateTimestamp(),
+ getParentForChildren(),
+ isClean());
+ requireSignedCertificateTimestamp_ = null;
+ }
+ return requireSignedCertificateTimestampBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource crl_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> crlBuilder_;
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public boolean hasCrl() {
+ return crlBuilder_ != null || crl_ != null;
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCrl() {
+ if (crlBuilder_ == null) {
+ return crl_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : crl_;
+ } else {
+ return crlBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public Builder setCrl(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (crlBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ crl_ = value;
+ onChanged();
+ } else {
+ crlBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public Builder setCrl(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (crlBuilder_ == null) {
+ crl_ = builderForValue.build();
+ onChanged();
+ } else {
+ crlBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public Builder mergeCrl(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (crlBuilder_ == null) {
+ if (crl_ != null) {
+ crl_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(crl_).mergeFrom(value).buildPartial();
+ } else {
+ crl_ = value;
+ }
+ onChanged();
+ } else {
+ crlBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public Builder clearCrl() {
+ if (crlBuilder_ == null) {
+ crl_ = null;
+ onChanged();
+ } else {
+ crl_ = null;
+ crlBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getCrlBuilder() {
+
+ onChanged();
+ return getCrlFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCrlOrBuilder() {
+ if (crlBuilder_ != null) {
+ return crlBuilder_.getMessageOrBuilder();
+ } else {
+ return crl_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : crl_;
+ }
+ }
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getCrlFieldBuilder() {
+ if (crlBuilder_ == null) {
+ crlBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getCrl(),
+ getParentForChildren(),
+ isClean());
+ crl_ = null;
+ }
+ return crlBuilder_;
+ }
+
+ private boolean allowExpiredCertificate_ ;
+ /**
+ * <pre>
+ * If specified, Envoy will not reject expired certificates.
+ * </pre>
+ *
+ * <code>bool allow_expired_certificate = 8;</code>
+ */
+ public boolean getAllowExpiredCertificate() {
+ return allowExpiredCertificate_;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will not reject expired certificates.
+ * </pre>
+ *
+ * <code>bool allow_expired_certificate = 8;</code>
+ */
+ public Builder setAllowExpiredCertificate(boolean value) {
+
+ allowExpiredCertificate_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will not reject expired certificates.
+ * </pre>
+ *
+ * <code>bool allow_expired_certificate = 8;</code>
+ */
+ public Builder clearAllowExpiredCertificate() {
+
+ allowExpiredCertificate_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.CertificateValidationContext)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.CertificateValidationContext)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CertificateValidationContext>
+ PARSER = new com.google.protobuf.AbstractParser<CertificateValidationContext>() {
+ public CertificateValidationContext parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CertificateValidationContext(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CertificateValidationContext> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CertificateValidationContext> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CertificateValidationContextOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CertificateValidationContextOrBuilder.java
new file mode 100644
index 000000000..8d3d18b69
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CertificateValidationContextOrBuilder.java
@@ -0,0 +1,459 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface CertificateValidationContextOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.CertificateValidationContext)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ boolean hasTrustedCa();
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getTrustedCa();
+ /**
+ * <pre>
+ * TLS certificate data containing certificate authority certificates to use in verifying
+ * a presented peer certificate (e.g. server certificate for clusters or client certificate
+ * for listeners). If not specified and a peer certificate is presented it will not be
+ * verified. By default, a client certificate is optional, unless one of the additional
+ * options (:ref:`require_client_certificate
+ * &lt;envoy_api_field_auth.DownstreamTlsContext.require_client_certificate&gt;`,
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;`,
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`, or
+ * :ref:`verify_subject_alt_name
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name&gt;`) is also
+ * specified.
+ * It can optionally contain certificate revocation lists, in which case Envoy will verify
+ * that the presented peer certificate has not been revoked by one of the included CRLs.
+ * See :ref:`the TLS overview &lt;arch_overview_ssl_enabling_verification&gt;` for a list of common
+ * system CA locations.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource trusted_ca = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getTrustedCaOrBuilder();
+
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ java.util.List<java.lang.String>
+ getVerifyCertificateSpkiList();
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ int getVerifyCertificateSpkiCount();
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getVerifyCertificateSpki(int index);
+ /**
+ * <pre>
+ * An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ * SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ * matches one of the specified values.
+ * A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -pubkey &#92;
+ * | openssl pkey -pubin -outform DER &#92;
+ * | openssl dgst -sha256 -binary &#92;
+ * | openssl enc -base64
+ * NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ * This is the format used in HTTP Public Key Pinning.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * .. attention::
+ * This option is preferred over :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;`,
+ * because SPKI is tied to a private key, so it doesn't change when the certificate
+ * is renewed using the same private key.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_spki = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getVerifyCertificateSpkiBytes(int index);
+
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ java.util.List<java.lang.String>
+ getVerifyCertificateHashList();
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ int getVerifyCertificateHashCount();
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getVerifyCertificateHash(int index);
+ /**
+ * <pre>
+ * An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ * the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ * A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ * df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ * A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ * can be generated with the following command:
+ * .. code-block:: bash
+ * $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ * DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ * Both of those formats are acceptable.
+ * When both:
+ * :ref:`verify_certificate_hash
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash&gt;` and
+ * :ref:`verify_certificate_spki
+ * &lt;envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki&gt;` are specified,
+ * a hash matching value from either of the lists will result in the certificate being accepted.
+ * </pre>
+ *
+ * <code>repeated string verify_certificate_hash = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getVerifyCertificateHashBytes(int index);
+
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ java.util.List<java.lang.String>
+ getVerifySubjectAltNameList();
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ int getVerifySubjectAltNameCount();
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ java.lang.String getVerifySubjectAltName(int index);
+ /**
+ * <pre>
+ * An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ * Subject Alternative Name of the presented certificate matches one of the specified values.
+ * .. attention::
+ * Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ * therefore this option must be used together with :ref:`trusted_ca
+ * &lt;envoy_api_field_auth.CertificateValidationContext.trusted_ca&gt;`.
+ * </pre>
+ *
+ * <code>repeated string verify_subject_alt_name = 4;</code>
+ */
+ com.google.protobuf.ByteString
+ getVerifySubjectAltNameBytes(int index);
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ boolean hasRequireOcspStaple();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ com.google.protobuf.BoolValue getRequireOcspStaple();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_ocsp_staple = 5;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getRequireOcspStapleOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ boolean hasRequireSignedCertificateTimestamp();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ com.google.protobuf.BoolValue getRequireSignedCertificateTimestamp();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Must present signed certificate time-stamp.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_signed_certificate_timestamp = 6;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getRequireSignedCertificateTimestampOrBuilder();
+
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ boolean hasCrl();
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCrl();
+ /**
+ * <pre>
+ * An optional `certificate revocation list
+ * &lt;http://https://en.wikipedia.org/wiki/Certificate_revocation_list&gt;`_
+ * (in PEM format). If specified, Envoy will verify that the presented peer
+ * certificate has not been revoked by this CRL. If this DataSource contains
+ * multiple CRLs, all of them will be used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource crl = 7;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCrlOrBuilder();
+
+ /**
+ * <pre>
+ * If specified, Envoy will not reject expired certificates.
+ * </pre>
+ *
+ * <code>bool allow_expired_certificate = 8;</code>
+ */
+ boolean getAllowExpiredCertificate();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CommonTlsContext.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CommonTlsContext.java
new file mode 100644
index 000000000..da8146f2b
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CommonTlsContext.java
@@ -0,0 +1,3698 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * <pre>
+ * TLS context shared by both client and server TLS contexts.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.auth.CommonTlsContext}
+ */
+public final class CommonTlsContext extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.CommonTlsContext)
+ CommonTlsContextOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use CommonTlsContext.newBuilder() to construct.
+ private CommonTlsContext(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CommonTlsContext() {
+ tlsCertificates_ = java.util.Collections.emptyList();
+ tlsCertificateSdsSecretConfigs_ = java.util.Collections.emptyList();
+ alpnProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CommonTlsContext(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.Builder subBuilder = null;
+ if (tlsParams_ != null) {
+ subBuilder = tlsParams_.toBuilder();
+ }
+ tlsParams_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(tlsParams_);
+ tlsParams_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ tlsCertificates_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate>();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ tlsCertificates_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.parser(), extensionRegistry));
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder subBuilder = null;
+ if (validationContextTypeCase_ == 3) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_).toBuilder();
+ }
+ validationContextType_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_);
+ validationContextType_ = subBuilder.buildPartial();
+ }
+ validationContextTypeCase_ = 3;
+ break;
+ }
+ case 34: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ alpnProtocols_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ alpnProtocols_.add(s);
+ break;
+ }
+ case 50: {
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ tlsCertificateSdsSecretConfigs_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig>();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ tlsCertificateSdsSecretConfigs_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.parser(), extensionRegistry));
+ break;
+ }
+ case 58: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder subBuilder = null;
+ if (validationContextTypeCase_ == 7) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_).toBuilder();
+ }
+ validationContextType_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_);
+ validationContextType_ = subBuilder.buildPartial();
+ }
+ validationContextTypeCase_ = 7;
+ break;
+ }
+ case 66: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.Builder subBuilder = null;
+ if (validationContextTypeCase_ == 8) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_).toBuilder();
+ }
+ validationContextType_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_);
+ validationContextType_ = subBuilder.buildPartial();
+ }
+ validationContextTypeCase_ = 8;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ tlsCertificates_ = java.util.Collections.unmodifiableList(tlsCertificates_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ alpnProtocols_ = alpnProtocols_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ tlsCertificateSdsSecretConfigs_ = java.util.Collections.unmodifiableList(tlsCertificateSdsSecretConfigs_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder.class);
+ }
+
+ public interface CombinedCertificateValidationContextOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasDefaultValidationContext();
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getDefaultValidationContext();
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getDefaultValidationContextOrBuilder();
+
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasValidationContextSdsSecretConfig();
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getValidationContextSdsSecretConfig();
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getValidationContextSdsSecretConfigOrBuilder();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext}
+ */
+ public static final class CombinedCertificateValidationContext extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext)
+ CombinedCertificateValidationContextOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use CombinedCertificateValidationContext.newBuilder() to construct.
+ private CombinedCertificateValidationContext(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CombinedCertificateValidationContext() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CombinedCertificateValidationContext(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder subBuilder = null;
+ if (defaultValidationContext_ != null) {
+ subBuilder = defaultValidationContext_.toBuilder();
+ }
+ defaultValidationContext_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(defaultValidationContext_);
+ defaultValidationContext_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder subBuilder = null;
+ if (validationContextSdsSecretConfig_ != null) {
+ subBuilder = validationContextSdsSecretConfig_.toBuilder();
+ }
+ validationContextSdsSecretConfig_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(validationContextSdsSecretConfig_);
+ validationContextSdsSecretConfig_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.Builder.class);
+ }
+
+ public static final int DEFAULT_VALIDATION_CONTEXT_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext defaultValidationContext_;
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasDefaultValidationContext() {
+ return defaultValidationContext_ != null;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getDefaultValidationContext() {
+ return defaultValidationContext_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance() : defaultValidationContext_;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getDefaultValidationContextOrBuilder() {
+ return getDefaultValidationContext();
+ }
+
+ public static final int VALIDATION_CONTEXT_SDS_SECRET_CONFIG_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig validationContextSdsSecretConfig_;
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasValidationContextSdsSecretConfig() {
+ return validationContextSdsSecretConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getValidationContextSdsSecretConfig() {
+ return validationContextSdsSecretConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance() : validationContextSdsSecretConfig_;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getValidationContextSdsSecretConfigOrBuilder() {
+ return getValidationContextSdsSecretConfig();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (defaultValidationContext_ != null) {
+ output.writeMessage(1, getDefaultValidationContext());
+ }
+ if (validationContextSdsSecretConfig_ != null) {
+ output.writeMessage(2, getValidationContextSdsSecretConfig());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (defaultValidationContext_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getDefaultValidationContext());
+ }
+ if (validationContextSdsSecretConfig_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getValidationContextSdsSecretConfig());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext other = (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) obj;
+
+ boolean result = true;
+ result = result && (hasDefaultValidationContext() == other.hasDefaultValidationContext());
+ if (hasDefaultValidationContext()) {
+ result = result && getDefaultValidationContext()
+ .equals(other.getDefaultValidationContext());
+ }
+ result = result && (hasValidationContextSdsSecretConfig() == other.hasValidationContextSdsSecretConfig());
+ if (hasValidationContextSdsSecretConfig()) {
+ result = result && getValidationContextSdsSecretConfig()
+ .equals(other.getValidationContextSdsSecretConfig());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasDefaultValidationContext()) {
+ hash = (37 * hash) + DEFAULT_VALIDATION_CONTEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getDefaultValidationContext().hashCode();
+ }
+ if (hasValidationContextSdsSecretConfig()) {
+ hash = (37 * hash) + VALIDATION_CONTEXT_SDS_SECRET_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getValidationContextSdsSecretConfig().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext)
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContextOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (defaultValidationContextBuilder_ == null) {
+ defaultValidationContext_ = null;
+ } else {
+ defaultValidationContext_ = null;
+ defaultValidationContextBuilder_ = null;
+ }
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ validationContextSdsSecretConfig_ = null;
+ } else {
+ validationContextSdsSecretConfig_ = null;
+ validationContextSdsSecretConfigBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext result = new io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext(this);
+ if (defaultValidationContextBuilder_ == null) {
+ result.defaultValidationContext_ = defaultValidationContext_;
+ } else {
+ result.defaultValidationContext_ = defaultValidationContextBuilder_.build();
+ }
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ result.validationContextSdsSecretConfig_ = validationContextSdsSecretConfig_;
+ } else {
+ result.validationContextSdsSecretConfig_ = validationContextSdsSecretConfigBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance()) return this;
+ if (other.hasDefaultValidationContext()) {
+ mergeDefaultValidationContext(other.getDefaultValidationContext());
+ }
+ if (other.hasValidationContextSdsSecretConfig()) {
+ mergeValidationContextSdsSecretConfig(other.getValidationContextSdsSecretConfig());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext defaultValidationContext_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder> defaultValidationContextBuilder_;
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasDefaultValidationContext() {
+ return defaultValidationContextBuilder_ != null || defaultValidationContext_ != null;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getDefaultValidationContext() {
+ if (defaultValidationContextBuilder_ == null) {
+ return defaultValidationContext_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance() : defaultValidationContext_;
+ } else {
+ return defaultValidationContextBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDefaultValidationContext(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext value) {
+ if (defaultValidationContextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ defaultValidationContext_ = value;
+ onChanged();
+ } else {
+ defaultValidationContextBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDefaultValidationContext(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder builderForValue) {
+ if (defaultValidationContextBuilder_ == null) {
+ defaultValidationContext_ = builderForValue.build();
+ onChanged();
+ } else {
+ defaultValidationContextBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeDefaultValidationContext(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext value) {
+ if (defaultValidationContextBuilder_ == null) {
+ if (defaultValidationContext_ != null) {
+ defaultValidationContext_ =
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.newBuilder(defaultValidationContext_).mergeFrom(value).buildPartial();
+ } else {
+ defaultValidationContext_ = value;
+ }
+ onChanged();
+ } else {
+ defaultValidationContextBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearDefaultValidationContext() {
+ if (defaultValidationContextBuilder_ == null) {
+ defaultValidationContext_ = null;
+ onChanged();
+ } else {
+ defaultValidationContext_ = null;
+ defaultValidationContextBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder getDefaultValidationContextBuilder() {
+
+ onChanged();
+ return getDefaultValidationContextFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getDefaultValidationContextOrBuilder() {
+ if (defaultValidationContextBuilder_ != null) {
+ return defaultValidationContextBuilder_.getMessageOrBuilder();
+ } else {
+ return defaultValidationContext_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance() : defaultValidationContext_;
+ }
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext default_validation_context = 1 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder>
+ getDefaultValidationContextFieldBuilder() {
+ if (defaultValidationContextBuilder_ == null) {
+ defaultValidationContextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder>(
+ getDefaultValidationContext(),
+ getParentForChildren(),
+ isClean());
+ defaultValidationContext_ = null;
+ }
+ return defaultValidationContextBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig validationContextSdsSecretConfig_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder> validationContextSdsSecretConfigBuilder_;
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasValidationContextSdsSecretConfig() {
+ return validationContextSdsSecretConfigBuilder_ != null || validationContextSdsSecretConfig_ != null;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getValidationContextSdsSecretConfig() {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ return validationContextSdsSecretConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance() : validationContextSdsSecretConfig_;
+ } else {
+ return validationContextSdsSecretConfigBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setValidationContextSdsSecretConfig(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ validationContextSdsSecretConfig_ = value;
+ onChanged();
+ } else {
+ validationContextSdsSecretConfigBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setValidationContextSdsSecretConfig(
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder builderForValue) {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ validationContextSdsSecretConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ validationContextSdsSecretConfigBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeValidationContextSdsSecretConfig(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ if (validationContextSdsSecretConfig_ != null) {
+ validationContextSdsSecretConfig_ =
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.newBuilder(validationContextSdsSecretConfig_).mergeFrom(value).buildPartial();
+ } else {
+ validationContextSdsSecretConfig_ = value;
+ }
+ onChanged();
+ } else {
+ validationContextSdsSecretConfigBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearValidationContextSdsSecretConfig() {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ validationContextSdsSecretConfig_ = null;
+ onChanged();
+ } else {
+ validationContextSdsSecretConfig_ = null;
+ validationContextSdsSecretConfigBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder getValidationContextSdsSecretConfigBuilder() {
+
+ onChanged();
+ return getValidationContextSdsSecretConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getValidationContextSdsSecretConfigOrBuilder() {
+ if (validationContextSdsSecretConfigBuilder_ != null) {
+ return validationContextSdsSecretConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return validationContextSdsSecretConfig_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance() : validationContextSdsSecretConfig_;
+ }
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 2 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>
+ getValidationContextSdsSecretConfigFieldBuilder() {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ validationContextSdsSecretConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>(
+ getValidationContextSdsSecretConfig(),
+ getParentForChildren(),
+ isClean());
+ validationContextSdsSecretConfig_ = null;
+ }
+ return validationContextSdsSecretConfigBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CombinedCertificateValidationContext>
+ PARSER = new com.google.protobuf.AbstractParser<CombinedCertificateValidationContext>() {
+ public CombinedCertificateValidationContext parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CombinedCertificateValidationContext(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CombinedCertificateValidationContext> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CombinedCertificateValidationContext> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int bitField0_;
+ private int validationContextTypeCase_ = 0;
+ private java.lang.Object validationContextType_;
+ public enum ValidationContextTypeCase
+ implements com.google.protobuf.Internal.EnumLite {
+ VALIDATION_CONTEXT(3),
+ VALIDATION_CONTEXT_SDS_SECRET_CONFIG(7),
+ COMBINED_VALIDATION_CONTEXT(8),
+ VALIDATIONCONTEXTTYPE_NOT_SET(0);
+ private final int value;
+ private ValidationContextTypeCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ValidationContextTypeCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static ValidationContextTypeCase forNumber(int value) {
+ switch (value) {
+ case 3: return VALIDATION_CONTEXT;
+ case 7: return VALIDATION_CONTEXT_SDS_SECRET_CONFIG;
+ case 8: return COMBINED_VALIDATION_CONTEXT;
+ case 0: return VALIDATIONCONTEXTTYPE_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public ValidationContextTypeCase
+ getValidationContextTypeCase() {
+ return ValidationContextTypeCase.forNumber(
+ validationContextTypeCase_);
+ }
+
+ public static final int TLS_PARAMS_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters tlsParams_;
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public boolean hasTlsParams() {
+ return tlsParams_ != null;
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters getTlsParams() {
+ return tlsParams_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.getDefaultInstance() : tlsParams_;
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParametersOrBuilder getTlsParamsOrBuilder() {
+ return getTlsParams();
+ }
+
+ public static final int TLS_CERTIFICATES_FIELD_NUMBER = 2;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate> tlsCertificates_;
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate> getTlsCertificatesList() {
+ return tlsCertificates_;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder>
+ getTlsCertificatesOrBuilderList() {
+ return tlsCertificates_;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public int getTlsCertificatesCount() {
+ return tlsCertificates_.size();
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getTlsCertificates(int index) {
+ return tlsCertificates_.get(index);
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder getTlsCertificatesOrBuilder(
+ int index) {
+ return tlsCertificates_.get(index);
+ }
+
+ public static final int TLS_CERTIFICATE_SDS_SECRET_CONFIGS_FIELD_NUMBER = 6;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig> tlsCertificateSdsSecretConfigs_;
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig> getTlsCertificateSdsSecretConfigsList() {
+ return tlsCertificateSdsSecretConfigs_;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>
+ getTlsCertificateSdsSecretConfigsOrBuilderList() {
+ return tlsCertificateSdsSecretConfigs_;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public int getTlsCertificateSdsSecretConfigsCount() {
+ return tlsCertificateSdsSecretConfigs_.size();
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getTlsCertificateSdsSecretConfigs(int index) {
+ return tlsCertificateSdsSecretConfigs_.get(index);
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getTlsCertificateSdsSecretConfigsOrBuilder(
+ int index) {
+ return tlsCertificateSdsSecretConfigs_.get(index);
+ }
+
+ public static final int VALIDATION_CONTEXT_FIELD_NUMBER = 3;
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public boolean hasValidationContext() {
+ return validationContextTypeCase_ == 3;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getValidationContext() {
+ if (validationContextTypeCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getValidationContextOrBuilder() {
+ if (validationContextTypeCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+
+ public static final int VALIDATION_CONTEXT_SDS_SECRET_CONFIG_FIELD_NUMBER = 7;
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public boolean hasValidationContextSdsSecretConfig() {
+ return validationContextTypeCase_ == 7;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getValidationContextSdsSecretConfig() {
+ if (validationContextTypeCase_ == 7) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getValidationContextSdsSecretConfigOrBuilder() {
+ if (validationContextTypeCase_ == 7) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+
+ public static final int COMBINED_VALIDATION_CONTEXT_FIELD_NUMBER = 8;
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public boolean hasCombinedValidationContext() {
+ return validationContextTypeCase_ == 8;
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext getCombinedValidationContext() {
+ if (validationContextTypeCase_ == 8) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContextOrBuilder getCombinedValidationContextOrBuilder() {
+ if (validationContextTypeCase_ == 8) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance();
+ }
+
+ public static final int ALPN_PROTOCOLS_FIELD_NUMBER = 4;
+ private com.google.protobuf.LazyStringList alpnProtocols_;
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getAlpnProtocolsList() {
+ return alpnProtocols_;
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public int getAlpnProtocolsCount() {
+ return alpnProtocols_.size();
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public java.lang.String getAlpnProtocols(int index) {
+ return alpnProtocols_.get(index);
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAlpnProtocolsBytes(int index) {
+ return alpnProtocols_.getByteString(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (tlsParams_ != null) {
+ output.writeMessage(1, getTlsParams());
+ }
+ for (int i = 0; i < tlsCertificates_.size(); i++) {
+ output.writeMessage(2, tlsCertificates_.get(i));
+ }
+ if (validationContextTypeCase_ == 3) {
+ output.writeMessage(3, (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_);
+ }
+ for (int i = 0; i < alpnProtocols_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, alpnProtocols_.getRaw(i));
+ }
+ for (int i = 0; i < tlsCertificateSdsSecretConfigs_.size(); i++) {
+ output.writeMessage(6, tlsCertificateSdsSecretConfigs_.get(i));
+ }
+ if (validationContextTypeCase_ == 7) {
+ output.writeMessage(7, (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_);
+ }
+ if (validationContextTypeCase_ == 8) {
+ output.writeMessage(8, (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (tlsParams_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getTlsParams());
+ }
+ for (int i = 0; i < tlsCertificates_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, tlsCertificates_.get(i));
+ }
+ if (validationContextTypeCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < alpnProtocols_.size(); i++) {
+ dataSize += computeStringSizeNoTag(alpnProtocols_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getAlpnProtocolsList().size();
+ }
+ for (int i = 0; i < tlsCertificateSdsSecretConfigs_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, tlsCertificateSdsSecretConfigs_.get(i));
+ }
+ if (validationContextTypeCase_ == 7) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_);
+ }
+ if (validationContextTypeCase_ == 8) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(8, (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext other = (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext) obj;
+
+ boolean result = true;
+ result = result && (hasTlsParams() == other.hasTlsParams());
+ if (hasTlsParams()) {
+ result = result && getTlsParams()
+ .equals(other.getTlsParams());
+ }
+ result = result && getTlsCertificatesList()
+ .equals(other.getTlsCertificatesList());
+ result = result && getTlsCertificateSdsSecretConfigsList()
+ .equals(other.getTlsCertificateSdsSecretConfigsList());
+ result = result && getAlpnProtocolsList()
+ .equals(other.getAlpnProtocolsList());
+ result = result && getValidationContextTypeCase().equals(
+ other.getValidationContextTypeCase());
+ if (!result) return false;
+ switch (validationContextTypeCase_) {
+ case 3:
+ result = result && getValidationContext()
+ .equals(other.getValidationContext());
+ break;
+ case 7:
+ result = result && getValidationContextSdsSecretConfig()
+ .equals(other.getValidationContextSdsSecretConfig());
+ break;
+ case 8:
+ result = result && getCombinedValidationContext()
+ .equals(other.getCombinedValidationContext());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasTlsParams()) {
+ hash = (37 * hash) + TLS_PARAMS_FIELD_NUMBER;
+ hash = (53 * hash) + getTlsParams().hashCode();
+ }
+ if (getTlsCertificatesCount() > 0) {
+ hash = (37 * hash) + TLS_CERTIFICATES_FIELD_NUMBER;
+ hash = (53 * hash) + getTlsCertificatesList().hashCode();
+ }
+ if (getTlsCertificateSdsSecretConfigsCount() > 0) {
+ hash = (37 * hash) + TLS_CERTIFICATE_SDS_SECRET_CONFIGS_FIELD_NUMBER;
+ hash = (53 * hash) + getTlsCertificateSdsSecretConfigsList().hashCode();
+ }
+ if (getAlpnProtocolsCount() > 0) {
+ hash = (37 * hash) + ALPN_PROTOCOLS_FIELD_NUMBER;
+ hash = (53 * hash) + getAlpnProtocolsList().hashCode();
+ }
+ switch (validationContextTypeCase_) {
+ case 3:
+ hash = (37 * hash) + VALIDATION_CONTEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getValidationContext().hashCode();
+ break;
+ case 7:
+ hash = (37 * hash) + VALIDATION_CONTEXT_SDS_SECRET_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getValidationContextSdsSecretConfig().hashCode();
+ break;
+ case 8:
+ hash = (37 * hash) + COMBINED_VALIDATION_CONTEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getCombinedValidationContext().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * TLS context shared by both client and server TLS contexts.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.auth.CommonTlsContext}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.CommonTlsContext)
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getTlsCertificatesFieldBuilder();
+ getTlsCertificateSdsSecretConfigsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (tlsParamsBuilder_ == null) {
+ tlsParams_ = null;
+ } else {
+ tlsParams_ = null;
+ tlsParamsBuilder_ = null;
+ }
+ if (tlsCertificatesBuilder_ == null) {
+ tlsCertificates_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ tlsCertificatesBuilder_.clear();
+ }
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ tlsCertificateSdsSecretConfigs_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.clear();
+ }
+ alpnProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ validationContextTypeCase_ = 0;
+ validationContextType_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_CommonTlsContext_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext result = new io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (tlsParamsBuilder_ == null) {
+ result.tlsParams_ = tlsParams_;
+ } else {
+ result.tlsParams_ = tlsParamsBuilder_.build();
+ }
+ if (tlsCertificatesBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ tlsCertificates_ = java.util.Collections.unmodifiableList(tlsCertificates_);
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.tlsCertificates_ = tlsCertificates_;
+ } else {
+ result.tlsCertificates_ = tlsCertificatesBuilder_.build();
+ }
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ tlsCertificateSdsSecretConfigs_ = java.util.Collections.unmodifiableList(tlsCertificateSdsSecretConfigs_);
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.tlsCertificateSdsSecretConfigs_ = tlsCertificateSdsSecretConfigs_;
+ } else {
+ result.tlsCertificateSdsSecretConfigs_ = tlsCertificateSdsSecretConfigsBuilder_.build();
+ }
+ if (validationContextTypeCase_ == 3) {
+ if (validationContextBuilder_ == null) {
+ result.validationContextType_ = validationContextType_;
+ } else {
+ result.validationContextType_ = validationContextBuilder_.build();
+ }
+ }
+ if (validationContextTypeCase_ == 7) {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ result.validationContextType_ = validationContextType_;
+ } else {
+ result.validationContextType_ = validationContextSdsSecretConfigBuilder_.build();
+ }
+ }
+ if (validationContextTypeCase_ == 8) {
+ if (combinedValidationContextBuilder_ == null) {
+ result.validationContextType_ = validationContextType_;
+ } else {
+ result.validationContextType_ = combinedValidationContextBuilder_.build();
+ }
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ alpnProtocols_ = alpnProtocols_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.alpnProtocols_ = alpnProtocols_;
+ result.bitField0_ = to_bitField0_;
+ result.validationContextTypeCase_ = validationContextTypeCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.getDefaultInstance()) return this;
+ if (other.hasTlsParams()) {
+ mergeTlsParams(other.getTlsParams());
+ }
+ if (tlsCertificatesBuilder_ == null) {
+ if (!other.tlsCertificates_.isEmpty()) {
+ if (tlsCertificates_.isEmpty()) {
+ tlsCertificates_ = other.tlsCertificates_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureTlsCertificatesIsMutable();
+ tlsCertificates_.addAll(other.tlsCertificates_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.tlsCertificates_.isEmpty()) {
+ if (tlsCertificatesBuilder_.isEmpty()) {
+ tlsCertificatesBuilder_.dispose();
+ tlsCertificatesBuilder_ = null;
+ tlsCertificates_ = other.tlsCertificates_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ tlsCertificatesBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getTlsCertificatesFieldBuilder() : null;
+ } else {
+ tlsCertificatesBuilder_.addAllMessages(other.tlsCertificates_);
+ }
+ }
+ }
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ if (!other.tlsCertificateSdsSecretConfigs_.isEmpty()) {
+ if (tlsCertificateSdsSecretConfigs_.isEmpty()) {
+ tlsCertificateSdsSecretConfigs_ = other.tlsCertificateSdsSecretConfigs_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ tlsCertificateSdsSecretConfigs_.addAll(other.tlsCertificateSdsSecretConfigs_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.tlsCertificateSdsSecretConfigs_.isEmpty()) {
+ if (tlsCertificateSdsSecretConfigsBuilder_.isEmpty()) {
+ tlsCertificateSdsSecretConfigsBuilder_.dispose();
+ tlsCertificateSdsSecretConfigsBuilder_ = null;
+ tlsCertificateSdsSecretConfigs_ = other.tlsCertificateSdsSecretConfigs_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ tlsCertificateSdsSecretConfigsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getTlsCertificateSdsSecretConfigsFieldBuilder() : null;
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.addAllMessages(other.tlsCertificateSdsSecretConfigs_);
+ }
+ }
+ }
+ if (!other.alpnProtocols_.isEmpty()) {
+ if (alpnProtocols_.isEmpty()) {
+ alpnProtocols_ = other.alpnProtocols_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureAlpnProtocolsIsMutable();
+ alpnProtocols_.addAll(other.alpnProtocols_);
+ }
+ onChanged();
+ }
+ switch (other.getValidationContextTypeCase()) {
+ case VALIDATION_CONTEXT: {
+ mergeValidationContext(other.getValidationContext());
+ break;
+ }
+ case VALIDATION_CONTEXT_SDS_SECRET_CONFIG: {
+ mergeValidationContextSdsSecretConfig(other.getValidationContextSdsSecretConfig());
+ break;
+ }
+ case COMBINED_VALIDATION_CONTEXT: {
+ mergeCombinedValidationContext(other.getCombinedValidationContext());
+ break;
+ }
+ case VALIDATIONCONTEXTTYPE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int validationContextTypeCase_ = 0;
+ private java.lang.Object validationContextType_;
+ public ValidationContextTypeCase
+ getValidationContextTypeCase() {
+ return ValidationContextTypeCase.forNumber(
+ validationContextTypeCase_);
+ }
+
+ public Builder clearValidationContextType() {
+ validationContextTypeCase_ = 0;
+ validationContextType_ = null;
+ onChanged();
+ return this;
+ }
+
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters tlsParams_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters, io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsParametersOrBuilder> tlsParamsBuilder_;
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public boolean hasTlsParams() {
+ return tlsParamsBuilder_ != null || tlsParams_ != null;
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters getTlsParams() {
+ if (tlsParamsBuilder_ == null) {
+ return tlsParams_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.getDefaultInstance() : tlsParams_;
+ } else {
+ return tlsParamsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public Builder setTlsParams(io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters value) {
+ if (tlsParamsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ tlsParams_ = value;
+ onChanged();
+ } else {
+ tlsParamsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public Builder setTlsParams(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.Builder builderForValue) {
+ if (tlsParamsBuilder_ == null) {
+ tlsParams_ = builderForValue.build();
+ onChanged();
+ } else {
+ tlsParamsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public Builder mergeTlsParams(io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters value) {
+ if (tlsParamsBuilder_ == null) {
+ if (tlsParams_ != null) {
+ tlsParams_ =
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.newBuilder(tlsParams_).mergeFrom(value).buildPartial();
+ } else {
+ tlsParams_ = value;
+ }
+ onChanged();
+ } else {
+ tlsParamsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public Builder clearTlsParams() {
+ if (tlsParamsBuilder_ == null) {
+ tlsParams_ = null;
+ onChanged();
+ } else {
+ tlsParams_ = null;
+ tlsParamsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.Builder getTlsParamsBuilder() {
+
+ onChanged();
+ return getTlsParamsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParametersOrBuilder getTlsParamsOrBuilder() {
+ if (tlsParamsBuilder_ != null) {
+ return tlsParamsBuilder_.getMessageOrBuilder();
+ } else {
+ return tlsParams_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.getDefaultInstance() : tlsParams_;
+ }
+ }
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters, io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsParametersOrBuilder>
+ getTlsParamsFieldBuilder() {
+ if (tlsParamsBuilder_ == null) {
+ tlsParamsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters, io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsParametersOrBuilder>(
+ getTlsParams(),
+ getParentForChildren(),
+ isClean());
+ tlsParams_ = null;
+ }
+ return tlsParamsBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate> tlsCertificates_ =
+ java.util.Collections.emptyList();
+ private void ensureTlsCertificatesIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ tlsCertificates_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate>(tlsCertificates_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder> tlsCertificatesBuilder_;
+
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate> getTlsCertificatesList() {
+ if (tlsCertificatesBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(tlsCertificates_);
+ } else {
+ return tlsCertificatesBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public int getTlsCertificatesCount() {
+ if (tlsCertificatesBuilder_ == null) {
+ return tlsCertificates_.size();
+ } else {
+ return tlsCertificatesBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getTlsCertificates(int index) {
+ if (tlsCertificatesBuilder_ == null) {
+ return tlsCertificates_.get(index);
+ } else {
+ return tlsCertificatesBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder setTlsCertificates(
+ int index, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate value) {
+ if (tlsCertificatesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTlsCertificatesIsMutable();
+ tlsCertificates_.set(index, value);
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder setTlsCertificates(
+ int index, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder builderForValue) {
+ if (tlsCertificatesBuilder_ == null) {
+ ensureTlsCertificatesIsMutable();
+ tlsCertificates_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder addTlsCertificates(io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate value) {
+ if (tlsCertificatesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTlsCertificatesIsMutable();
+ tlsCertificates_.add(value);
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder addTlsCertificates(
+ int index, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate value) {
+ if (tlsCertificatesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTlsCertificatesIsMutable();
+ tlsCertificates_.add(index, value);
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder addTlsCertificates(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder builderForValue) {
+ if (tlsCertificatesBuilder_ == null) {
+ ensureTlsCertificatesIsMutable();
+ tlsCertificates_.add(builderForValue.build());
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder addTlsCertificates(
+ int index, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder builderForValue) {
+ if (tlsCertificatesBuilder_ == null) {
+ ensureTlsCertificatesIsMutable();
+ tlsCertificates_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder addAllTlsCertificates(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate> values) {
+ if (tlsCertificatesBuilder_ == null) {
+ ensureTlsCertificatesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, tlsCertificates_);
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder clearTlsCertificates() {
+ if (tlsCertificatesBuilder_ == null) {
+ tlsCertificates_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public Builder removeTlsCertificates(int index) {
+ if (tlsCertificatesBuilder_ == null) {
+ ensureTlsCertificatesIsMutable();
+ tlsCertificates_.remove(index);
+ onChanged();
+ } else {
+ tlsCertificatesBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder getTlsCertificatesBuilder(
+ int index) {
+ return getTlsCertificatesFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder getTlsCertificatesOrBuilder(
+ int index) {
+ if (tlsCertificatesBuilder_ == null) {
+ return tlsCertificates_.get(index); } else {
+ return tlsCertificatesBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder>
+ getTlsCertificatesOrBuilderList() {
+ if (tlsCertificatesBuilder_ != null) {
+ return tlsCertificatesBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(tlsCertificates_);
+ }
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder addTlsCertificatesBuilder() {
+ return getTlsCertificatesFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder addTlsCertificatesBuilder(
+ int index) {
+ return getTlsCertificatesFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder>
+ getTlsCertificatesBuilderList() {
+ return getTlsCertificatesFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder>
+ getTlsCertificatesFieldBuilder() {
+ if (tlsCertificatesBuilder_ == null) {
+ tlsCertificatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder>(
+ tlsCertificates_,
+ ((bitField0_ & 0x00000002) == 0x00000002),
+ getParentForChildren(),
+ isClean());
+ tlsCertificates_ = null;
+ }
+ return tlsCertificatesBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig> tlsCertificateSdsSecretConfigs_ =
+ java.util.Collections.emptyList();
+ private void ensureTlsCertificateSdsSecretConfigsIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ tlsCertificateSdsSecretConfigs_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig>(tlsCertificateSdsSecretConfigs_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder> tlsCertificateSdsSecretConfigsBuilder_;
+
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig> getTlsCertificateSdsSecretConfigsList() {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(tlsCertificateSdsSecretConfigs_);
+ } else {
+ return tlsCertificateSdsSecretConfigsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public int getTlsCertificateSdsSecretConfigsCount() {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ return tlsCertificateSdsSecretConfigs_.size();
+ } else {
+ return tlsCertificateSdsSecretConfigsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getTlsCertificateSdsSecretConfigs(int index) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ return tlsCertificateSdsSecretConfigs_.get(index);
+ } else {
+ return tlsCertificateSdsSecretConfigsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder setTlsCertificateSdsSecretConfigs(
+ int index, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ tlsCertificateSdsSecretConfigs_.set(index, value);
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder setTlsCertificateSdsSecretConfigs(
+ int index, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder builderForValue) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ tlsCertificateSdsSecretConfigs_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder addTlsCertificateSdsSecretConfigs(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ tlsCertificateSdsSecretConfigs_.add(value);
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder addTlsCertificateSdsSecretConfigs(
+ int index, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ tlsCertificateSdsSecretConfigs_.add(index, value);
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder addTlsCertificateSdsSecretConfigs(
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder builderForValue) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ tlsCertificateSdsSecretConfigs_.add(builderForValue.build());
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder addTlsCertificateSdsSecretConfigs(
+ int index, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder builderForValue) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ tlsCertificateSdsSecretConfigs_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder addAllTlsCertificateSdsSecretConfigs(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig> values) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, tlsCertificateSdsSecretConfigs_);
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder clearTlsCertificateSdsSecretConfigs() {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ tlsCertificateSdsSecretConfigs_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public Builder removeTlsCertificateSdsSecretConfigs(int index) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ ensureTlsCertificateSdsSecretConfigsIsMutable();
+ tlsCertificateSdsSecretConfigs_.remove(index);
+ onChanged();
+ } else {
+ tlsCertificateSdsSecretConfigsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder getTlsCertificateSdsSecretConfigsBuilder(
+ int index) {
+ return getTlsCertificateSdsSecretConfigsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getTlsCertificateSdsSecretConfigsOrBuilder(
+ int index) {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ return tlsCertificateSdsSecretConfigs_.get(index); } else {
+ return tlsCertificateSdsSecretConfigsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>
+ getTlsCertificateSdsSecretConfigsOrBuilderList() {
+ if (tlsCertificateSdsSecretConfigsBuilder_ != null) {
+ return tlsCertificateSdsSecretConfigsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(tlsCertificateSdsSecretConfigs_);
+ }
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder addTlsCertificateSdsSecretConfigsBuilder() {
+ return getTlsCertificateSdsSecretConfigsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder addTlsCertificateSdsSecretConfigsBuilder(
+ int index) {
+ return getTlsCertificateSdsSecretConfigsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder>
+ getTlsCertificateSdsSecretConfigsBuilderList() {
+ return getTlsCertificateSdsSecretConfigsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>
+ getTlsCertificateSdsSecretConfigsFieldBuilder() {
+ if (tlsCertificateSdsSecretConfigsBuilder_ == null) {
+ tlsCertificateSdsSecretConfigsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>(
+ tlsCertificateSdsSecretConfigs_,
+ ((bitField0_ & 0x00000004) == 0x00000004),
+ getParentForChildren(),
+ isClean());
+ tlsCertificateSdsSecretConfigs_ = null;
+ }
+ return tlsCertificateSdsSecretConfigsBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder> validationContextBuilder_;
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public boolean hasValidationContext() {
+ return validationContextTypeCase_ == 3;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getValidationContext() {
+ if (validationContextBuilder_ == null) {
+ if (validationContextTypeCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ } else {
+ if (validationContextTypeCase_ == 3) {
+ return validationContextBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public Builder setValidationContext(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext value) {
+ if (validationContextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ validationContextType_ = value;
+ onChanged();
+ } else {
+ validationContextBuilder_.setMessage(value);
+ }
+ validationContextTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public Builder setValidationContext(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder builderForValue) {
+ if (validationContextBuilder_ == null) {
+ validationContextType_ = builderForValue.build();
+ onChanged();
+ } else {
+ validationContextBuilder_.setMessage(builderForValue.build());
+ }
+ validationContextTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public Builder mergeValidationContext(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext value) {
+ if (validationContextBuilder_ == null) {
+ if (validationContextTypeCase_ == 3 &&
+ validationContextType_ != io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance()) {
+ validationContextType_ = io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.newBuilder((io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ validationContextType_ = value;
+ }
+ onChanged();
+ } else {
+ if (validationContextTypeCase_ == 3) {
+ validationContextBuilder_.mergeFrom(value);
+ }
+ validationContextBuilder_.setMessage(value);
+ }
+ validationContextTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public Builder clearValidationContext() {
+ if (validationContextBuilder_ == null) {
+ if (validationContextTypeCase_ == 3) {
+ validationContextTypeCase_ = 0;
+ validationContextType_ = null;
+ onChanged();
+ }
+ } else {
+ if (validationContextTypeCase_ == 3) {
+ validationContextTypeCase_ = 0;
+ validationContextType_ = null;
+ }
+ validationContextBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder getValidationContextBuilder() {
+ return getValidationContextFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getValidationContextOrBuilder() {
+ if ((validationContextTypeCase_ == 3) && (validationContextBuilder_ != null)) {
+ return validationContextBuilder_.getMessageOrBuilder();
+ } else {
+ if (validationContextTypeCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder>
+ getValidationContextFieldBuilder() {
+ if (validationContextBuilder_ == null) {
+ if (!(validationContextTypeCase_ == 3)) {
+ validationContextType_ = io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+ validationContextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) validationContextType_,
+ getParentForChildren(),
+ isClean());
+ validationContextType_ = null;
+ }
+ validationContextTypeCase_ = 3;
+ onChanged();;
+ return validationContextBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder> validationContextSdsSecretConfigBuilder_;
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public boolean hasValidationContextSdsSecretConfig() {
+ return validationContextTypeCase_ == 7;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getValidationContextSdsSecretConfig() {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ if (validationContextTypeCase_ == 7) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ } else {
+ if (validationContextTypeCase_ == 7) {
+ return validationContextSdsSecretConfigBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public Builder setValidationContextSdsSecretConfig(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ validationContextType_ = value;
+ onChanged();
+ } else {
+ validationContextSdsSecretConfigBuilder_.setMessage(value);
+ }
+ validationContextTypeCase_ = 7;
+ return this;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public Builder setValidationContextSdsSecretConfig(
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder builderForValue) {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ validationContextType_ = builderForValue.build();
+ onChanged();
+ } else {
+ validationContextSdsSecretConfigBuilder_.setMessage(builderForValue.build());
+ }
+ validationContextTypeCase_ = 7;
+ return this;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public Builder mergeValidationContextSdsSecretConfig(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ if (validationContextTypeCase_ == 7 &&
+ validationContextType_ != io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance()) {
+ validationContextType_ = io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.newBuilder((io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ validationContextType_ = value;
+ }
+ onChanged();
+ } else {
+ if (validationContextTypeCase_ == 7) {
+ validationContextSdsSecretConfigBuilder_.mergeFrom(value);
+ }
+ validationContextSdsSecretConfigBuilder_.setMessage(value);
+ }
+ validationContextTypeCase_ = 7;
+ return this;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public Builder clearValidationContextSdsSecretConfig() {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ if (validationContextTypeCase_ == 7) {
+ validationContextTypeCase_ = 0;
+ validationContextType_ = null;
+ onChanged();
+ }
+ } else {
+ if (validationContextTypeCase_ == 7) {
+ validationContextTypeCase_ = 0;
+ validationContextType_ = null;
+ }
+ validationContextSdsSecretConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder getValidationContextSdsSecretConfigBuilder() {
+ return getValidationContextSdsSecretConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getValidationContextSdsSecretConfigOrBuilder() {
+ if ((validationContextTypeCase_ == 7) && (validationContextSdsSecretConfigBuilder_ != null)) {
+ return validationContextSdsSecretConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (validationContextTypeCase_ == 7) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>
+ getValidationContextSdsSecretConfigFieldBuilder() {
+ if (validationContextSdsSecretConfigBuilder_ == null) {
+ if (!(validationContextTypeCase_ == 7)) {
+ validationContextType_ = io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+ validationContextSdsSecretConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) validationContextType_,
+ getParentForChildren(),
+ isClean());
+ validationContextType_ = null;
+ }
+ validationContextTypeCase_ = 7;
+ onChanged();;
+ return validationContextSdsSecretConfigBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContextOrBuilder> combinedValidationContextBuilder_;
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public boolean hasCombinedValidationContext() {
+ return validationContextTypeCase_ == 8;
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext getCombinedValidationContext() {
+ if (combinedValidationContextBuilder_ == null) {
+ if (validationContextTypeCase_ == 8) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance();
+ } else {
+ if (validationContextTypeCase_ == 8) {
+ return combinedValidationContextBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public Builder setCombinedValidationContext(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext value) {
+ if (combinedValidationContextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ validationContextType_ = value;
+ onChanged();
+ } else {
+ combinedValidationContextBuilder_.setMessage(value);
+ }
+ validationContextTypeCase_ = 8;
+ return this;
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public Builder setCombinedValidationContext(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.Builder builderForValue) {
+ if (combinedValidationContextBuilder_ == null) {
+ validationContextType_ = builderForValue.build();
+ onChanged();
+ } else {
+ combinedValidationContextBuilder_.setMessage(builderForValue.build());
+ }
+ validationContextTypeCase_ = 8;
+ return this;
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public Builder mergeCombinedValidationContext(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext value) {
+ if (combinedValidationContextBuilder_ == null) {
+ if (validationContextTypeCase_ == 8 &&
+ validationContextType_ != io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance()) {
+ validationContextType_ = io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.newBuilder((io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ validationContextType_ = value;
+ }
+ onChanged();
+ } else {
+ if (validationContextTypeCase_ == 8) {
+ combinedValidationContextBuilder_.mergeFrom(value);
+ }
+ combinedValidationContextBuilder_.setMessage(value);
+ }
+ validationContextTypeCase_ = 8;
+ return this;
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public Builder clearCombinedValidationContext() {
+ if (combinedValidationContextBuilder_ == null) {
+ if (validationContextTypeCase_ == 8) {
+ validationContextTypeCase_ = 0;
+ validationContextType_ = null;
+ onChanged();
+ }
+ } else {
+ if (validationContextTypeCase_ == 8) {
+ validationContextTypeCase_ = 0;
+ validationContextType_ = null;
+ }
+ combinedValidationContextBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.Builder getCombinedValidationContextBuilder() {
+ return getCombinedValidationContextFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContextOrBuilder getCombinedValidationContextOrBuilder() {
+ if ((validationContextTypeCase_ == 8) && (combinedValidationContextBuilder_ != null)) {
+ return combinedValidationContextBuilder_.getMessageOrBuilder();
+ } else {
+ if (validationContextTypeCase_ == 8) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContextOrBuilder>
+ getCombinedValidationContextFieldBuilder() {
+ if (combinedValidationContextBuilder_ == null) {
+ if (!(validationContextTypeCase_ == 8)) {
+ validationContextType_ = io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.getDefaultInstance();
+ }
+ combinedValidationContextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContextOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext) validationContextType_,
+ getParentForChildren(),
+ isClean());
+ validationContextType_ = null;
+ }
+ validationContextTypeCase_ = 8;
+ onChanged();;
+ return combinedValidationContextBuilder_;
+ }
+
+ private com.google.protobuf.LazyStringList alpnProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureAlpnProtocolsIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ alpnProtocols_ = new com.google.protobuf.LazyStringArrayList(alpnProtocols_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getAlpnProtocolsList() {
+ return alpnProtocols_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public int getAlpnProtocolsCount() {
+ return alpnProtocols_.size();
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public java.lang.String getAlpnProtocols(int index) {
+ return alpnProtocols_.get(index);
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAlpnProtocolsBytes(int index) {
+ return alpnProtocols_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public Builder setAlpnProtocols(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureAlpnProtocolsIsMutable();
+ alpnProtocols_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public Builder addAlpnProtocols(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureAlpnProtocolsIsMutable();
+ alpnProtocols_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public Builder addAllAlpnProtocols(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureAlpnProtocolsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, alpnProtocols_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public Builder clearAlpnProtocols() {
+ alpnProtocols_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ public Builder addAlpnProtocolsBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureAlpnProtocolsIsMutable();
+ alpnProtocols_.add(value);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.CommonTlsContext)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.CommonTlsContext)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CommonTlsContext>
+ PARSER = new com.google.protobuf.AbstractParser<CommonTlsContext>() {
+ public CommonTlsContext parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CommonTlsContext(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CommonTlsContext> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CommonTlsContext> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CommonTlsContextOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CommonTlsContextOrBuilder.java
new file mode 100644
index 000000000..d0b21aca1
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/CommonTlsContextOrBuilder.java
@@ -0,0 +1,300 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface CommonTlsContextOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.CommonTlsContext)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ boolean hasTlsParams();
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters getTlsParams();
+ /**
+ * <pre>
+ * TLS protocol versions, cipher suites etc.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters tls_params = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParametersOrBuilder getTlsParamsOrBuilder();
+
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate>
+ getTlsCertificatesList();
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getTlsCertificates(int index);
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ int getTlsCertificatesCount();
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder>
+ getTlsCertificatesOrBuilderList();
+ /**
+ * <pre>
+ * Multiple TLS certificates can be associated with the same context.
+ * E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ * Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ * RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ * used for clients that support ECDSA.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.TlsCertificate tls_certificates = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder getTlsCertificatesOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig>
+ getTlsCertificateSdsSecretConfigsList();
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getTlsCertificateSdsSecretConfigs(int index);
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ int getTlsCertificateSdsSecretConfigsCount();
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>
+ getTlsCertificateSdsSecretConfigsOrBuilderList();
+ /**
+ * <pre>
+ * Configs for fetching TLS certificates via SDS API.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.auth.SdsSecretConfig tls_certificate_sds_secret_configs = 6;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getTlsCertificateSdsSecretConfigsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ boolean hasValidationContext();
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getValidationContext();
+ /**
+ * <pre>
+ * How to validate peer certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getValidationContextOrBuilder();
+
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ boolean hasValidationContextSdsSecretConfig();
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getValidationContextSdsSecretConfig();
+ /**
+ * <pre>
+ * Config for fetching validation context via SDS API.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig validation_context_sds_secret_config = 7;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getValidationContextSdsSecretConfigOrBuilder();
+
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ boolean hasCombinedValidationContext();
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext getCombinedValidationContext();
+ /**
+ * <pre>
+ * Combined certificate validation context holds a default CertificateValidationContext
+ * and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ * and default CertificateValidationContext are merged into a new CertificateValidationContext
+ * for validation. This merge is done by Message::MergeFrom(), so dynamic
+ * CertificateValidationContext overwrites singular fields in default
+ * CertificateValidationContext, and concatenates repeated fields to default
+ * CertificateValidationContext, and logical OR is applied to boolean fields.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext combined_validation_context = 8;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContextOrBuilder getCombinedValidationContextOrBuilder();
+
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ java.util.List<java.lang.String>
+ getAlpnProtocolsList();
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ int getAlpnProtocolsCount();
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ java.lang.String getAlpnProtocols(int index);
+ /**
+ * <pre>
+ * Supplies the list of ALPN protocols that the listener should expose. In
+ * practice this is likely to be set to one of two values (see the
+ * :ref:`codec_type
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type&gt;`
+ * parameter in the HTTP connection manager for more information):
+ * * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ * * "http/1.1" If the listener is only going to support HTTP/1.1.
+ * There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ * </pre>
+ *
+ * <code>repeated string alpn_protocols = 4;</code>
+ */
+ com.google.protobuf.ByteString
+ getAlpnProtocolsBytes(int index);
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.ValidationContextTypeCase getValidationContextTypeCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/DownstreamTlsContext.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/DownstreamTlsContext.java
new file mode 100644
index 000000000..6b4505af5
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/DownstreamTlsContext.java
@@ -0,0 +1,1672 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * Protobuf type {@code envoy.api.v2.auth.DownstreamTlsContext}
+ */
+public final class DownstreamTlsContext extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.DownstreamTlsContext)
+ DownstreamTlsContextOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use DownstreamTlsContext.newBuilder() to construct.
+ private DownstreamTlsContext(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DownstreamTlsContext() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DownstreamTlsContext(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder subBuilder = null;
+ if (commonTlsContext_ != null) {
+ subBuilder = commonTlsContext_.toBuilder();
+ }
+ commonTlsContext_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(commonTlsContext_);
+ commonTlsContext_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (requireClientCertificate_ != null) {
+ subBuilder = requireClientCertificate_.toBuilder();
+ }
+ requireClientCertificate_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(requireClientCertificate_);
+ requireClientCertificate_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (requireSni_ != null) {
+ subBuilder = requireSni_.toBuilder();
+ }
+ requireSni_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(requireSni_);
+ requireSni_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder subBuilder = null;
+ if (sessionTicketKeysTypeCase_ == 4) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_).toBuilder();
+ }
+ sessionTicketKeysType_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_);
+ sessionTicketKeysType_ = subBuilder.buildPartial();
+ }
+ sessionTicketKeysTypeCase_ = 4;
+ break;
+ }
+ case 42: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder subBuilder = null;
+ if (sessionTicketKeysTypeCase_ == 5) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_).toBuilder();
+ }
+ sessionTicketKeysType_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_);
+ sessionTicketKeysType_ = subBuilder.buildPartial();
+ }
+ sessionTicketKeysTypeCase_ = 5;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_DownstreamTlsContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_DownstreamTlsContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext.Builder.class);
+ }
+
+ private int sessionTicketKeysTypeCase_ = 0;
+ private java.lang.Object sessionTicketKeysType_;
+ public enum SessionTicketKeysTypeCase
+ implements com.google.protobuf.Internal.EnumLite {
+ SESSION_TICKET_KEYS(4),
+ SESSION_TICKET_KEYS_SDS_SECRET_CONFIG(5),
+ SESSIONTICKETKEYSTYPE_NOT_SET(0);
+ private final int value;
+ private SessionTicketKeysTypeCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static SessionTicketKeysTypeCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static SessionTicketKeysTypeCase forNumber(int value) {
+ switch (value) {
+ case 4: return SESSION_TICKET_KEYS;
+ case 5: return SESSION_TICKET_KEYS_SDS_SECRET_CONFIG;
+ case 0: return SESSIONTICKETKEYSTYPE_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public SessionTicketKeysTypeCase
+ getSessionTicketKeysTypeCase() {
+ return SessionTicketKeysTypeCase.forNumber(
+ sessionTicketKeysTypeCase_);
+ }
+
+ public static final int COMMON_TLS_CONTEXT_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext commonTlsContext_;
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public boolean hasCommonTlsContext() {
+ return commonTlsContext_ != null;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getCommonTlsContext() {
+ return commonTlsContext_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.getDefaultInstance() : commonTlsContext_;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder getCommonTlsContextOrBuilder() {
+ return getCommonTlsContext();
+ }
+
+ public static final int REQUIRE_CLIENT_CERTIFICATE_FIELD_NUMBER = 2;
+ private com.google.protobuf.BoolValue requireClientCertificate_;
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public boolean hasRequireClientCertificate() {
+ return requireClientCertificate_ != null;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public com.google.protobuf.BoolValue getRequireClientCertificate() {
+ return requireClientCertificate_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : requireClientCertificate_;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getRequireClientCertificateOrBuilder() {
+ return getRequireClientCertificate();
+ }
+
+ public static final int REQUIRE_SNI_FIELD_NUMBER = 3;
+ private com.google.protobuf.BoolValue requireSni_;
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public boolean hasRequireSni() {
+ return requireSni_ != null;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public com.google.protobuf.BoolValue getRequireSni() {
+ return requireSni_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : requireSni_;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getRequireSniOrBuilder() {
+ return getRequireSni();
+ }
+
+ public static final int SESSION_TICKET_KEYS_FIELD_NUMBER = 4;
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public boolean hasSessionTicketKeys() {
+ return sessionTicketKeysTypeCase_ == 4;
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getSessionTicketKeys() {
+ if (sessionTicketKeysTypeCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder getSessionTicketKeysOrBuilder() {
+ if (sessionTicketKeysTypeCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+
+ public static final int SESSION_TICKET_KEYS_SDS_SECRET_CONFIG_FIELD_NUMBER = 5;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public boolean hasSessionTicketKeysSdsSecretConfig() {
+ return sessionTicketKeysTypeCase_ == 5;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getSessionTicketKeysSdsSecretConfig() {
+ if (sessionTicketKeysTypeCase_ == 5) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getSessionTicketKeysSdsSecretConfigOrBuilder() {
+ if (sessionTicketKeysTypeCase_ == 5) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (commonTlsContext_ != null) {
+ output.writeMessage(1, getCommonTlsContext());
+ }
+ if (requireClientCertificate_ != null) {
+ output.writeMessage(2, getRequireClientCertificate());
+ }
+ if (requireSni_ != null) {
+ output.writeMessage(3, getRequireSni());
+ }
+ if (sessionTicketKeysTypeCase_ == 4) {
+ output.writeMessage(4, (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_);
+ }
+ if (sessionTicketKeysTypeCase_ == 5) {
+ output.writeMessage(5, (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (commonTlsContext_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getCommonTlsContext());
+ }
+ if (requireClientCertificate_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getRequireClientCertificate());
+ }
+ if (requireSni_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getRequireSni());
+ }
+ if (sessionTicketKeysTypeCase_ == 4) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_);
+ }
+ if (sessionTicketKeysTypeCase_ == 5) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext other = (io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext) obj;
+
+ boolean result = true;
+ result = result && (hasCommonTlsContext() == other.hasCommonTlsContext());
+ if (hasCommonTlsContext()) {
+ result = result && getCommonTlsContext()
+ .equals(other.getCommonTlsContext());
+ }
+ result = result && (hasRequireClientCertificate() == other.hasRequireClientCertificate());
+ if (hasRequireClientCertificate()) {
+ result = result && getRequireClientCertificate()
+ .equals(other.getRequireClientCertificate());
+ }
+ result = result && (hasRequireSni() == other.hasRequireSni());
+ if (hasRequireSni()) {
+ result = result && getRequireSni()
+ .equals(other.getRequireSni());
+ }
+ result = result && getSessionTicketKeysTypeCase().equals(
+ other.getSessionTicketKeysTypeCase());
+ if (!result) return false;
+ switch (sessionTicketKeysTypeCase_) {
+ case 4:
+ result = result && getSessionTicketKeys()
+ .equals(other.getSessionTicketKeys());
+ break;
+ case 5:
+ result = result && getSessionTicketKeysSdsSecretConfig()
+ .equals(other.getSessionTicketKeysSdsSecretConfig());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasCommonTlsContext()) {
+ hash = (37 * hash) + COMMON_TLS_CONTEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getCommonTlsContext().hashCode();
+ }
+ if (hasRequireClientCertificate()) {
+ hash = (37 * hash) + REQUIRE_CLIENT_CERTIFICATE_FIELD_NUMBER;
+ hash = (53 * hash) + getRequireClientCertificate().hashCode();
+ }
+ if (hasRequireSni()) {
+ hash = (37 * hash) + REQUIRE_SNI_FIELD_NUMBER;
+ hash = (53 * hash) + getRequireSni().hashCode();
+ }
+ switch (sessionTicketKeysTypeCase_) {
+ case 4:
+ hash = (37 * hash) + SESSION_TICKET_KEYS_FIELD_NUMBER;
+ hash = (53 * hash) + getSessionTicketKeys().hashCode();
+ break;
+ case 5:
+ hash = (37 * hash) + SESSION_TICKET_KEYS_SDS_SECRET_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getSessionTicketKeysSdsSecretConfig().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.auth.DownstreamTlsContext}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.DownstreamTlsContext)
+ io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContextOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_DownstreamTlsContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_DownstreamTlsContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (commonTlsContextBuilder_ == null) {
+ commonTlsContext_ = null;
+ } else {
+ commonTlsContext_ = null;
+ commonTlsContextBuilder_ = null;
+ }
+ if (requireClientCertificateBuilder_ == null) {
+ requireClientCertificate_ = null;
+ } else {
+ requireClientCertificate_ = null;
+ requireClientCertificateBuilder_ = null;
+ }
+ if (requireSniBuilder_ == null) {
+ requireSni_ = null;
+ } else {
+ requireSni_ = null;
+ requireSniBuilder_ = null;
+ }
+ sessionTicketKeysTypeCase_ = 0;
+ sessionTicketKeysType_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_DownstreamTlsContext_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext result = new io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext(this);
+ if (commonTlsContextBuilder_ == null) {
+ result.commonTlsContext_ = commonTlsContext_;
+ } else {
+ result.commonTlsContext_ = commonTlsContextBuilder_.build();
+ }
+ if (requireClientCertificateBuilder_ == null) {
+ result.requireClientCertificate_ = requireClientCertificate_;
+ } else {
+ result.requireClientCertificate_ = requireClientCertificateBuilder_.build();
+ }
+ if (requireSniBuilder_ == null) {
+ result.requireSni_ = requireSni_;
+ } else {
+ result.requireSni_ = requireSniBuilder_.build();
+ }
+ if (sessionTicketKeysTypeCase_ == 4) {
+ if (sessionTicketKeysBuilder_ == null) {
+ result.sessionTicketKeysType_ = sessionTicketKeysType_;
+ } else {
+ result.sessionTicketKeysType_ = sessionTicketKeysBuilder_.build();
+ }
+ }
+ if (sessionTicketKeysTypeCase_ == 5) {
+ if (sessionTicketKeysSdsSecretConfigBuilder_ == null) {
+ result.sessionTicketKeysType_ = sessionTicketKeysType_;
+ } else {
+ result.sessionTicketKeysType_ = sessionTicketKeysSdsSecretConfigBuilder_.build();
+ }
+ }
+ result.sessionTicketKeysTypeCase_ = sessionTicketKeysTypeCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext.getDefaultInstance()) return this;
+ if (other.hasCommonTlsContext()) {
+ mergeCommonTlsContext(other.getCommonTlsContext());
+ }
+ if (other.hasRequireClientCertificate()) {
+ mergeRequireClientCertificate(other.getRequireClientCertificate());
+ }
+ if (other.hasRequireSni()) {
+ mergeRequireSni(other.getRequireSni());
+ }
+ switch (other.getSessionTicketKeysTypeCase()) {
+ case SESSION_TICKET_KEYS: {
+ mergeSessionTicketKeys(other.getSessionTicketKeys());
+ break;
+ }
+ case SESSION_TICKET_KEYS_SDS_SECRET_CONFIG: {
+ mergeSessionTicketKeysSdsSecretConfig(other.getSessionTicketKeysSdsSecretConfig());
+ break;
+ }
+ case SESSIONTICKETKEYSTYPE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int sessionTicketKeysTypeCase_ = 0;
+ private java.lang.Object sessionTicketKeysType_;
+ public SessionTicketKeysTypeCase
+ getSessionTicketKeysTypeCase() {
+ return SessionTicketKeysTypeCase.forNumber(
+ sessionTicketKeysTypeCase_);
+ }
+
+ public Builder clearSessionTicketKeysType() {
+ sessionTicketKeysTypeCase_ = 0;
+ sessionTicketKeysType_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext commonTlsContext_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder> commonTlsContextBuilder_;
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public boolean hasCommonTlsContext() {
+ return commonTlsContextBuilder_ != null || commonTlsContext_ != null;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getCommonTlsContext() {
+ if (commonTlsContextBuilder_ == null) {
+ return commonTlsContext_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.getDefaultInstance() : commonTlsContext_;
+ } else {
+ return commonTlsContextBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public Builder setCommonTlsContext(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext value) {
+ if (commonTlsContextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ commonTlsContext_ = value;
+ onChanged();
+ } else {
+ commonTlsContextBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public Builder setCommonTlsContext(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder builderForValue) {
+ if (commonTlsContextBuilder_ == null) {
+ commonTlsContext_ = builderForValue.build();
+ onChanged();
+ } else {
+ commonTlsContextBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public Builder mergeCommonTlsContext(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext value) {
+ if (commonTlsContextBuilder_ == null) {
+ if (commonTlsContext_ != null) {
+ commonTlsContext_ =
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.newBuilder(commonTlsContext_).mergeFrom(value).buildPartial();
+ } else {
+ commonTlsContext_ = value;
+ }
+ onChanged();
+ } else {
+ commonTlsContextBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public Builder clearCommonTlsContext() {
+ if (commonTlsContextBuilder_ == null) {
+ commonTlsContext_ = null;
+ onChanged();
+ } else {
+ commonTlsContext_ = null;
+ commonTlsContextBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder getCommonTlsContextBuilder() {
+
+ onChanged();
+ return getCommonTlsContextFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder getCommonTlsContextOrBuilder() {
+ if (commonTlsContextBuilder_ != null) {
+ return commonTlsContextBuilder_.getMessageOrBuilder();
+ } else {
+ return commonTlsContext_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.getDefaultInstance() : commonTlsContext_;
+ }
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder>
+ getCommonTlsContextFieldBuilder() {
+ if (commonTlsContextBuilder_ == null) {
+ commonTlsContextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder>(
+ getCommonTlsContext(),
+ getParentForChildren(),
+ isClean());
+ commonTlsContext_ = null;
+ }
+ return commonTlsContextBuilder_;
+ }
+
+ private com.google.protobuf.BoolValue requireClientCertificate_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> requireClientCertificateBuilder_;
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public boolean hasRequireClientCertificate() {
+ return requireClientCertificateBuilder_ != null || requireClientCertificate_ != null;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public com.google.protobuf.BoolValue getRequireClientCertificate() {
+ if (requireClientCertificateBuilder_ == null) {
+ return requireClientCertificate_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : requireClientCertificate_;
+ } else {
+ return requireClientCertificateBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public Builder setRequireClientCertificate(com.google.protobuf.BoolValue value) {
+ if (requireClientCertificateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ requireClientCertificate_ = value;
+ onChanged();
+ } else {
+ requireClientCertificateBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public Builder setRequireClientCertificate(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (requireClientCertificateBuilder_ == null) {
+ requireClientCertificate_ = builderForValue.build();
+ onChanged();
+ } else {
+ requireClientCertificateBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public Builder mergeRequireClientCertificate(com.google.protobuf.BoolValue value) {
+ if (requireClientCertificateBuilder_ == null) {
+ if (requireClientCertificate_ != null) {
+ requireClientCertificate_ =
+ com.google.protobuf.BoolValue.newBuilder(requireClientCertificate_).mergeFrom(value).buildPartial();
+ } else {
+ requireClientCertificate_ = value;
+ }
+ onChanged();
+ } else {
+ requireClientCertificateBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public Builder clearRequireClientCertificate() {
+ if (requireClientCertificateBuilder_ == null) {
+ requireClientCertificate_ = null;
+ onChanged();
+ } else {
+ requireClientCertificate_ = null;
+ requireClientCertificateBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getRequireClientCertificateBuilder() {
+
+ onChanged();
+ return getRequireClientCertificateFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getRequireClientCertificateOrBuilder() {
+ if (requireClientCertificateBuilder_ != null) {
+ return requireClientCertificateBuilder_.getMessageOrBuilder();
+ } else {
+ return requireClientCertificate_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : requireClientCertificate_;
+ }
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getRequireClientCertificateFieldBuilder() {
+ if (requireClientCertificateBuilder_ == null) {
+ requireClientCertificateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getRequireClientCertificate(),
+ getParentForChildren(),
+ isClean());
+ requireClientCertificate_ = null;
+ }
+ return requireClientCertificateBuilder_;
+ }
+
+ private com.google.protobuf.BoolValue requireSni_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> requireSniBuilder_;
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public boolean hasRequireSni() {
+ return requireSniBuilder_ != null || requireSni_ != null;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public com.google.protobuf.BoolValue getRequireSni() {
+ if (requireSniBuilder_ == null) {
+ return requireSni_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : requireSni_;
+ } else {
+ return requireSniBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public Builder setRequireSni(com.google.protobuf.BoolValue value) {
+ if (requireSniBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ requireSni_ = value;
+ onChanged();
+ } else {
+ requireSniBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public Builder setRequireSni(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (requireSniBuilder_ == null) {
+ requireSni_ = builderForValue.build();
+ onChanged();
+ } else {
+ requireSniBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public Builder mergeRequireSni(com.google.protobuf.BoolValue value) {
+ if (requireSniBuilder_ == null) {
+ if (requireSni_ != null) {
+ requireSni_ =
+ com.google.protobuf.BoolValue.newBuilder(requireSni_).mergeFrom(value).buildPartial();
+ } else {
+ requireSni_ = value;
+ }
+ onChanged();
+ } else {
+ requireSniBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public Builder clearRequireSni() {
+ if (requireSniBuilder_ == null) {
+ requireSni_ = null;
+ onChanged();
+ } else {
+ requireSni_ = null;
+ requireSniBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getRequireSniBuilder() {
+
+ onChanged();
+ return getRequireSniFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getRequireSniOrBuilder() {
+ if (requireSniBuilder_ != null) {
+ return requireSniBuilder_.getMessageOrBuilder();
+ } else {
+ return requireSni_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : requireSni_;
+ }
+ }
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getRequireSniFieldBuilder() {
+ if (requireSniBuilder_ == null) {
+ requireSniBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getRequireSni(),
+ getParentForChildren(),
+ isClean());
+ requireSni_ = null;
+ }
+ return requireSniBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder> sessionTicketKeysBuilder_;
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public boolean hasSessionTicketKeys() {
+ return sessionTicketKeysTypeCase_ == 4;
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getSessionTicketKeys() {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (sessionTicketKeysTypeCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ } else {
+ if (sessionTicketKeysTypeCase_ == 4) {
+ return sessionTicketKeysBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public Builder setSessionTicketKeys(io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys value) {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ sessionTicketKeysType_ = value;
+ onChanged();
+ } else {
+ sessionTicketKeysBuilder_.setMessage(value);
+ }
+ sessionTicketKeysTypeCase_ = 4;
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public Builder setSessionTicketKeys(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder builderForValue) {
+ if (sessionTicketKeysBuilder_ == null) {
+ sessionTicketKeysType_ = builderForValue.build();
+ onChanged();
+ } else {
+ sessionTicketKeysBuilder_.setMessage(builderForValue.build());
+ }
+ sessionTicketKeysTypeCase_ = 4;
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public Builder mergeSessionTicketKeys(io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys value) {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (sessionTicketKeysTypeCase_ == 4 &&
+ sessionTicketKeysType_ != io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance()) {
+ sessionTicketKeysType_ = io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.newBuilder((io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ sessionTicketKeysType_ = value;
+ }
+ onChanged();
+ } else {
+ if (sessionTicketKeysTypeCase_ == 4) {
+ sessionTicketKeysBuilder_.mergeFrom(value);
+ }
+ sessionTicketKeysBuilder_.setMessage(value);
+ }
+ sessionTicketKeysTypeCase_ = 4;
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public Builder clearSessionTicketKeys() {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (sessionTicketKeysTypeCase_ == 4) {
+ sessionTicketKeysTypeCase_ = 0;
+ sessionTicketKeysType_ = null;
+ onChanged();
+ }
+ } else {
+ if (sessionTicketKeysTypeCase_ == 4) {
+ sessionTicketKeysTypeCase_ = 0;
+ sessionTicketKeysType_ = null;
+ }
+ sessionTicketKeysBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder getSessionTicketKeysBuilder() {
+ return getSessionTicketKeysFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder getSessionTicketKeysOrBuilder() {
+ if ((sessionTicketKeysTypeCase_ == 4) && (sessionTicketKeysBuilder_ != null)) {
+ return sessionTicketKeysBuilder_.getMessageOrBuilder();
+ } else {
+ if (sessionTicketKeysTypeCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder>
+ getSessionTicketKeysFieldBuilder() {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (!(sessionTicketKeysTypeCase_ == 4)) {
+ sessionTicketKeysType_ = io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+ sessionTicketKeysBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) sessionTicketKeysType_,
+ getParentForChildren(),
+ isClean());
+ sessionTicketKeysType_ = null;
+ }
+ sessionTicketKeysTypeCase_ = 4;
+ onChanged();;
+ return sessionTicketKeysBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder> sessionTicketKeysSdsSecretConfigBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public boolean hasSessionTicketKeysSdsSecretConfig() {
+ return sessionTicketKeysTypeCase_ == 5;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getSessionTicketKeysSdsSecretConfig() {
+ if (sessionTicketKeysSdsSecretConfigBuilder_ == null) {
+ if (sessionTicketKeysTypeCase_ == 5) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ } else {
+ if (sessionTicketKeysTypeCase_ == 5) {
+ return sessionTicketKeysSdsSecretConfigBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public Builder setSessionTicketKeysSdsSecretConfig(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (sessionTicketKeysSdsSecretConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ sessionTicketKeysType_ = value;
+ onChanged();
+ } else {
+ sessionTicketKeysSdsSecretConfigBuilder_.setMessage(value);
+ }
+ sessionTicketKeysTypeCase_ = 5;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public Builder setSessionTicketKeysSdsSecretConfig(
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder builderForValue) {
+ if (sessionTicketKeysSdsSecretConfigBuilder_ == null) {
+ sessionTicketKeysType_ = builderForValue.build();
+ onChanged();
+ } else {
+ sessionTicketKeysSdsSecretConfigBuilder_.setMessage(builderForValue.build());
+ }
+ sessionTicketKeysTypeCase_ = 5;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public Builder mergeSessionTicketKeysSdsSecretConfig(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig value) {
+ if (sessionTicketKeysSdsSecretConfigBuilder_ == null) {
+ if (sessionTicketKeysTypeCase_ == 5 &&
+ sessionTicketKeysType_ != io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance()) {
+ sessionTicketKeysType_ = io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.newBuilder((io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ sessionTicketKeysType_ = value;
+ }
+ onChanged();
+ } else {
+ if (sessionTicketKeysTypeCase_ == 5) {
+ sessionTicketKeysSdsSecretConfigBuilder_.mergeFrom(value);
+ }
+ sessionTicketKeysSdsSecretConfigBuilder_.setMessage(value);
+ }
+ sessionTicketKeysTypeCase_ = 5;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public Builder clearSessionTicketKeysSdsSecretConfig() {
+ if (sessionTicketKeysSdsSecretConfigBuilder_ == null) {
+ if (sessionTicketKeysTypeCase_ == 5) {
+ sessionTicketKeysTypeCase_ = 0;
+ sessionTicketKeysType_ = null;
+ onChanged();
+ }
+ } else {
+ if (sessionTicketKeysTypeCase_ == 5) {
+ sessionTicketKeysTypeCase_ = 0;
+ sessionTicketKeysType_ = null;
+ }
+ sessionTicketKeysSdsSecretConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder getSessionTicketKeysSdsSecretConfigBuilder() {
+ return getSessionTicketKeysSdsSecretConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getSessionTicketKeysSdsSecretConfigOrBuilder() {
+ if ((sessionTicketKeysTypeCase_ == 5) && (sessionTicketKeysSdsSecretConfigBuilder_ != null)) {
+ return sessionTicketKeysSdsSecretConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (sessionTicketKeysTypeCase_ == 5) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>
+ getSessionTicketKeysSdsSecretConfigFieldBuilder() {
+ if (sessionTicketKeysSdsSecretConfigBuilder_ == null) {
+ if (!(sessionTicketKeysTypeCase_ == 5)) {
+ sessionTicketKeysType_ = io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+ sessionTicketKeysSdsSecretConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) sessionTicketKeysType_,
+ getParentForChildren(),
+ isClean());
+ sessionTicketKeysType_ = null;
+ }
+ sessionTicketKeysTypeCase_ = 5;
+ onChanged();;
+ return sessionTicketKeysSdsSecretConfigBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.DownstreamTlsContext)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.DownstreamTlsContext)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DownstreamTlsContext>
+ PARSER = new com.google.protobuf.AbstractParser<DownstreamTlsContext>() {
+ public DownstreamTlsContext parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DownstreamTlsContext(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DownstreamTlsContext> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DownstreamTlsContext> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/DownstreamTlsContextOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/DownstreamTlsContextOrBuilder.java
new file mode 100644
index 000000000..5d8e63f8b
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/DownstreamTlsContextOrBuilder.java
@@ -0,0 +1,142 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface DownstreamTlsContextOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.DownstreamTlsContext)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ boolean hasCommonTlsContext();
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getCommonTlsContext();
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder getCommonTlsContextOrBuilder();
+
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ boolean hasRequireClientCertificate();
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ com.google.protobuf.BoolValue getRequireClientCertificate();
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid client
+ * certificate.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_client_certificate = 2;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getRequireClientCertificateOrBuilder();
+
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ boolean hasRequireSni();
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ com.google.protobuf.BoolValue getRequireSni();
+ /**
+ * <pre>
+ * If specified, Envoy will reject connections without a valid and matching SNI.
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue require_sni = 3;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getRequireSniOrBuilder();
+
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ boolean hasSessionTicketKeys();
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getSessionTicketKeys();
+ /**
+ * <pre>
+ * TLS session ticket key settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder getSessionTicketKeysOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ boolean hasSessionTicketKeysSdsSecretConfig();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getSessionTicketKeysSdsSecretConfig();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.SdsSecretConfig session_ticket_keys_sds_secret_config = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder getSessionTicketKeysSdsSecretConfigOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.DownstreamTlsContext.SessionTicketKeysTypeCase getSessionTicketKeysTypeCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SdsSecretConfig.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SdsSecretConfig.java
new file mode 100644
index 000000000..d50d34fd2
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SdsSecretConfig.java
@@ -0,0 +1,747 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * <pre>
+ * [#proto-status: experimental]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.auth.SdsSecretConfig}
+ */
+public final class SdsSecretConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.SdsSecretConfig)
+ SdsSecretConfigOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use SdsSecretConfig.newBuilder() to construct.
+ private SdsSecretConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private SdsSecretConfig() {
+ name_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SdsSecretConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder subBuilder = null;
+ if (sdsConfig_ != null) {
+ subBuilder = sdsConfig_.toBuilder();
+ }
+ sdsConfig_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(sdsConfig_);
+ sdsConfig_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_SdsSecretConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_SdsSecretConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.class, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder.class);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int SDS_CONFIG_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource sdsConfig_;
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public boolean hasSdsConfig() {
+ return sdsConfig_ != null;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getSdsConfig() {
+ return sdsConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.getDefaultInstance() : sdsConfig_;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder getSdsConfigOrBuilder() {
+ return getSdsConfig();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (sdsConfig_ != null) {
+ output.writeMessage(2, getSdsConfig());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (sdsConfig_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getSdsConfig());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig other = (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) obj;
+
+ boolean result = true;
+ result = result && getName()
+ .equals(other.getName());
+ result = result && (hasSdsConfig() == other.hasSdsConfig());
+ if (hasSdsConfig()) {
+ result = result && getSdsConfig()
+ .equals(other.getSdsConfig());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ if (hasSdsConfig()) {
+ hash = (37 * hash) + SDS_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getSdsConfig().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * [#proto-status: experimental]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.auth.SdsSecretConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.SdsSecretConfig)
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_SdsSecretConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_SdsSecretConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.class, io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ if (sdsConfigBuilder_ == null) {
+ sdsConfig_ = null;
+ } else {
+ sdsConfig_ = null;
+ sdsConfigBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_SdsSecretConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig result = new io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig(this);
+ result.name_ = name_;
+ if (sdsConfigBuilder_ == null) {
+ result.sdsConfig_ = sdsConfig_;
+ } else {
+ result.sdsConfig_ = sdsConfigBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ if (other.hasSdsConfig()) {
+ mergeSdsConfig(other.getSdsConfig());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object name_ = "";
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource sdsConfig_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder> sdsConfigBuilder_;
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public boolean hasSdsConfig() {
+ return sdsConfigBuilder_ != null || sdsConfig_ != null;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getSdsConfig() {
+ if (sdsConfigBuilder_ == null) {
+ return sdsConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.getDefaultInstance() : sdsConfig_;
+ } else {
+ return sdsConfigBuilder_.getMessage();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public Builder setSdsConfig(io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource value) {
+ if (sdsConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ sdsConfig_ = value;
+ onChanged();
+ } else {
+ sdsConfigBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public Builder setSdsConfig(
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder builderForValue) {
+ if (sdsConfigBuilder_ == null) {
+ sdsConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ sdsConfigBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public Builder mergeSdsConfig(io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource value) {
+ if (sdsConfigBuilder_ == null) {
+ if (sdsConfig_ != null) {
+ sdsConfig_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.newBuilder(sdsConfig_).mergeFrom(value).buildPartial();
+ } else {
+ sdsConfig_ = value;
+ }
+ onChanged();
+ } else {
+ sdsConfigBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public Builder clearSdsConfig() {
+ if (sdsConfigBuilder_ == null) {
+ sdsConfig_ = null;
+ onChanged();
+ } else {
+ sdsConfig_ = null;
+ sdsConfigBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder getSdsConfigBuilder() {
+
+ onChanged();
+ return getSdsConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder getSdsConfigOrBuilder() {
+ if (sdsConfigBuilder_ != null) {
+ return sdsConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return sdsConfig_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.getDefaultInstance() : sdsConfig_;
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder>
+ getSdsConfigFieldBuilder() {
+ if (sdsConfigBuilder_ == null) {
+ sdsConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder>(
+ getSdsConfig(),
+ getParentForChildren(),
+ isClean());
+ sdsConfig_ = null;
+ }
+ return sdsConfigBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.SdsSecretConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.SdsSecretConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<SdsSecretConfig>
+ PARSER = new com.google.protobuf.AbstractParser<SdsSecretConfig>() {
+ public SdsSecretConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SdsSecretConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<SdsSecretConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<SdsSecretConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.SdsSecretConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SdsSecretConfigOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SdsSecretConfigOrBuilder.java
new file mode 100644
index 000000000..80ff8e68a
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SdsSecretConfigOrBuilder.java
@@ -0,0 +1,44 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface SdsSecretConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.SdsSecretConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ java.lang.String getName();
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ * When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ boolean hasSdsConfig();
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getSdsConfig();
+ /**
+ * <code>.envoy.api.v2.core.ConfigSource sds_config = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder getSdsConfigOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/Secret.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/Secret.java
new file mode 100644
index 000000000..9c0e90473
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/Secret.java
@@ -0,0 +1,1232 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * <pre>
+ * [#proto-status: experimental]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.auth.Secret}
+ */
+public final class Secret extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.Secret)
+ SecretOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Secret.newBuilder() to construct.
+ private Secret(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Secret() {
+ name_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Secret(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder subBuilder = null;
+ if (typeCase_ == 2) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 2;
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder subBuilder = null;
+ if (typeCase_ == 3) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 3;
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder subBuilder = null;
+ if (typeCase_ == 4) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 4;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_Secret_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_Secret_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.Secret.class, io.grpc.xds.shaded.envoy.api.v2.auth.Secret.Builder.class);
+ }
+
+ private int typeCase_ = 0;
+ private java.lang.Object type_;
+ public enum TypeCase
+ implements com.google.protobuf.Internal.EnumLite {
+ TLS_CERTIFICATE(2),
+ SESSION_TICKET_KEYS(3),
+ VALIDATION_CONTEXT(4),
+ TYPE_NOT_SET(0);
+ private final int value;
+ private TypeCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static TypeCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static TypeCase forNumber(int value) {
+ switch (value) {
+ case 2: return TLS_CERTIFICATE;
+ case 3: return SESSION_TICKET_KEYS;
+ case 4: return VALIDATION_CONTEXT;
+ case 0: return TYPE_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public TypeCase
+ getTypeCase() {
+ return TypeCase.forNumber(
+ typeCase_);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int TLS_CERTIFICATE_FIELD_NUMBER = 2;
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public boolean hasTlsCertificate() {
+ return typeCase_ == 2;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getTlsCertificate() {
+ if (typeCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder getTlsCertificateOrBuilder() {
+ if (typeCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance();
+ }
+
+ public static final int SESSION_TICKET_KEYS_FIELD_NUMBER = 3;
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public boolean hasSessionTicketKeys() {
+ return typeCase_ == 3;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getSessionTicketKeys() {
+ if (typeCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder getSessionTicketKeysOrBuilder() {
+ if (typeCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+
+ public static final int VALIDATION_CONTEXT_FIELD_NUMBER = 4;
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public boolean hasValidationContext() {
+ return typeCase_ == 4;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getValidationContext() {
+ if (typeCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getValidationContextOrBuilder() {
+ if (typeCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (typeCase_ == 2) {
+ output.writeMessage(2, (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_);
+ }
+ if (typeCase_ == 3) {
+ output.writeMessage(3, (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_);
+ }
+ if (typeCase_ == 4) {
+ output.writeMessage(4, (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (typeCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_);
+ }
+ if (typeCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_);
+ }
+ if (typeCase_ == 4) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.Secret)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.Secret other = (io.grpc.xds.shaded.envoy.api.v2.auth.Secret) obj;
+
+ boolean result = true;
+ result = result && getName()
+ .equals(other.getName());
+ result = result && getTypeCase().equals(
+ other.getTypeCase());
+ if (!result) return false;
+ switch (typeCase_) {
+ case 2:
+ result = result && getTlsCertificate()
+ .equals(other.getTlsCertificate());
+ break;
+ case 3:
+ result = result && getSessionTicketKeys()
+ .equals(other.getSessionTicketKeys());
+ break;
+ case 4:
+ result = result && getValidationContext()
+ .equals(other.getValidationContext());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ switch (typeCase_) {
+ case 2:
+ hash = (37 * hash) + TLS_CERTIFICATE_FIELD_NUMBER;
+ hash = (53 * hash) + getTlsCertificate().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + SESSION_TICKET_KEYS_FIELD_NUMBER;
+ hash = (53 * hash) + getSessionTicketKeys().hashCode();
+ break;
+ case 4:
+ hash = (37 * hash) + VALIDATION_CONTEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getValidationContext().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.Secret prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * [#proto-status: experimental]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.auth.Secret}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.Secret)
+ io.grpc.xds.shaded.envoy.api.v2.auth.SecretOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_Secret_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_Secret_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.Secret.class, io.grpc.xds.shaded.envoy.api.v2.auth.Secret.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.Secret.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ typeCase_ = 0;
+ type_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_Secret_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.Secret getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Secret.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.Secret build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.Secret result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.Secret buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.Secret result = new io.grpc.xds.shaded.envoy.api.v2.auth.Secret(this);
+ result.name_ = name_;
+ if (typeCase_ == 2) {
+ if (tlsCertificateBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = tlsCertificateBuilder_.build();
+ }
+ }
+ if (typeCase_ == 3) {
+ if (sessionTicketKeysBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = sessionTicketKeysBuilder_.build();
+ }
+ }
+ if (typeCase_ == 4) {
+ if (validationContextBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = validationContextBuilder_.build();
+ }
+ }
+ result.typeCase_ = typeCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.Secret) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.Secret)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.Secret other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.Secret.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ switch (other.getTypeCase()) {
+ case TLS_CERTIFICATE: {
+ mergeTlsCertificate(other.getTlsCertificate());
+ break;
+ }
+ case SESSION_TICKET_KEYS: {
+ mergeSessionTicketKeys(other.getSessionTicketKeys());
+ break;
+ }
+ case VALIDATION_CONTEXT: {
+ mergeValidationContext(other.getValidationContext());
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.Secret parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.Secret) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int typeCase_ = 0;
+ private java.lang.Object type_;
+ public TypeCase
+ getTypeCase() {
+ return TypeCase.forNumber(
+ typeCase_);
+ }
+
+ public Builder clearType() {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private java.lang.Object name_ = "";
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder> tlsCertificateBuilder_;
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public boolean hasTlsCertificate() {
+ return typeCase_ == 2;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getTlsCertificate() {
+ if (tlsCertificateBuilder_ == null) {
+ if (typeCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance();
+ } else {
+ if (typeCase_ == 2) {
+ return tlsCertificateBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public Builder setTlsCertificate(io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate value) {
+ if (tlsCertificateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ tlsCertificateBuilder_.setMessage(value);
+ }
+ typeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public Builder setTlsCertificate(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder builderForValue) {
+ if (tlsCertificateBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ tlsCertificateBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public Builder mergeTlsCertificate(io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate value) {
+ if (tlsCertificateBuilder_ == null) {
+ if (typeCase_ == 2 &&
+ type_ != io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.newBuilder((io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 2) {
+ tlsCertificateBuilder_.mergeFrom(value);
+ }
+ tlsCertificateBuilder_.setMessage(value);
+ }
+ typeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public Builder clearTlsCertificate() {
+ if (tlsCertificateBuilder_ == null) {
+ if (typeCase_ == 2) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 2) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ tlsCertificateBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder getTlsCertificateBuilder() {
+ return getTlsCertificateFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder getTlsCertificateOrBuilder() {
+ if ((typeCase_ == 2) && (tlsCertificateBuilder_ != null)) {
+ return tlsCertificateBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder>
+ getTlsCertificateFieldBuilder() {
+ if (tlsCertificateBuilder_ == null) {
+ if (!(typeCase_ == 2)) {
+ type_ = io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance();
+ }
+ tlsCertificateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 2;
+ onChanged();;
+ return tlsCertificateBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder> sessionTicketKeysBuilder_;
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public boolean hasSessionTicketKeys() {
+ return typeCase_ == 3;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getSessionTicketKeys() {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (typeCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ } else {
+ if (typeCase_ == 3) {
+ return sessionTicketKeysBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public Builder setSessionTicketKeys(io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys value) {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ sessionTicketKeysBuilder_.setMessage(value);
+ }
+ typeCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public Builder setSessionTicketKeys(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder builderForValue) {
+ if (sessionTicketKeysBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ sessionTicketKeysBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public Builder mergeSessionTicketKeys(io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys value) {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (typeCase_ == 3 &&
+ type_ != io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.newBuilder((io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 3) {
+ sessionTicketKeysBuilder_.mergeFrom(value);
+ }
+ sessionTicketKeysBuilder_.setMessage(value);
+ }
+ typeCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public Builder clearSessionTicketKeys() {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (typeCase_ == 3) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 3) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ sessionTicketKeysBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder getSessionTicketKeysBuilder() {
+ return getSessionTicketKeysFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder getSessionTicketKeysOrBuilder() {
+ if ((typeCase_ == 3) && (sessionTicketKeysBuilder_ != null)) {
+ return sessionTicketKeysBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder>
+ getSessionTicketKeysFieldBuilder() {
+ if (sessionTicketKeysBuilder_ == null) {
+ if (!(typeCase_ == 3)) {
+ type_ = io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+ sessionTicketKeysBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 3;
+ onChanged();;
+ return sessionTicketKeysBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder> validationContextBuilder_;
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public boolean hasValidationContext() {
+ return typeCase_ == 4;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getValidationContext() {
+ if (validationContextBuilder_ == null) {
+ if (typeCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ } else {
+ if (typeCase_ == 4) {
+ return validationContextBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public Builder setValidationContext(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext value) {
+ if (validationContextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ validationContextBuilder_.setMessage(value);
+ }
+ typeCase_ = 4;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public Builder setValidationContext(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder builderForValue) {
+ if (validationContextBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ validationContextBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 4;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public Builder mergeValidationContext(io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext value) {
+ if (validationContextBuilder_ == null) {
+ if (typeCase_ == 4 &&
+ type_ != io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.newBuilder((io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 4) {
+ validationContextBuilder_.mergeFrom(value);
+ }
+ validationContextBuilder_.setMessage(value);
+ }
+ typeCase_ = 4;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public Builder clearValidationContext() {
+ if (validationContextBuilder_ == null) {
+ if (typeCase_ == 4) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 4) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ validationContextBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder getValidationContextBuilder() {
+ return getValidationContextFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getValidationContextOrBuilder() {
+ if ((typeCase_ == 4) && (validationContextBuilder_ != null)) {
+ return validationContextBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder>
+ getValidationContextFieldBuilder() {
+ if (validationContextBuilder_ == null) {
+ if (!(typeCase_ == 4)) {
+ type_ = io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.getDefaultInstance();
+ }
+ validationContextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 4;
+ onChanged();;
+ return validationContextBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.Secret)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.Secret)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.Secret DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.Secret();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.Secret getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Secret>
+ PARSER = new com.google.protobuf.AbstractParser<Secret>() {
+ public Secret parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Secret(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Secret> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Secret> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.Secret getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SecretOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SecretOrBuilder.java
new file mode 100644
index 000000000..bd9bece45
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/SecretOrBuilder.java
@@ -0,0 +1,68 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface SecretOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.Secret)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ java.lang.String getName();
+ /**
+ * <pre>
+ * Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ * </pre>
+ *
+ * <code>string name = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ boolean hasTlsCertificate();
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getTlsCertificate();
+ /**
+ * <code>.envoy.api.v2.auth.TlsCertificate tls_certificate = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder getTlsCertificateOrBuilder();
+
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ boolean hasSessionTicketKeys();
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getSessionTicketKeys();
+ /**
+ * <code>.envoy.api.v2.auth.TlsSessionTicketKeys session_ticket_keys = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder getSessionTicketKeysOrBuilder();
+
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ boolean hasValidationContext();
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContext getValidationContext();
+ /**
+ * <code>.envoy.api.v2.auth.CertificateValidationContext validation_context = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CertificateValidationContextOrBuilder getValidationContextOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.Secret.TypeCase getTypeCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsCertificate.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsCertificate.java
new file mode 100644
index 000000000..a636f0ca4
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsCertificate.java
@@ -0,0 +1,1757 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * Protobuf type {@code envoy.api.v2.auth.TlsCertificate}
+ */
+public final class TlsCertificate extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.TlsCertificate)
+ TlsCertificateOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use TlsCertificate.newBuilder() to construct.
+ private TlsCertificate(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private TlsCertificate() {
+ signedCertificateTimestamp_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TlsCertificate(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (certificateChain_ != null) {
+ subBuilder = certificateChain_.toBuilder();
+ }
+ certificateChain_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(certificateChain_);
+ certificateChain_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (privateKey_ != null) {
+ subBuilder = privateKey_.toBuilder();
+ }
+ privateKey_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(privateKey_);
+ privateKey_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (password_ != null) {
+ subBuilder = password_.toBuilder();
+ }
+ password_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(password_);
+ password_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (ocspStaple_ != null) {
+ subBuilder = ocspStaple_.toBuilder();
+ }
+ ocspStaple_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(ocspStaple_);
+ ocspStaple_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
+ signedCertificateTimestamp_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.DataSource>();
+ mutable_bitField0_ |= 0x00000010;
+ }
+ signedCertificateTimestamp_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
+ signedCertificateTimestamp_ = java.util.Collections.unmodifiableList(signedCertificateTimestamp_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsCertificate_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsCertificate_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.class, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CERTIFICATE_CHAIN_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource certificateChain_;
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public boolean hasCertificateChain() {
+ return certificateChain_ != null;
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCertificateChain() {
+ return certificateChain_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : certificateChain_;
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCertificateChainOrBuilder() {
+ return getCertificateChain();
+ }
+
+ public static final int PRIVATE_KEY_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource privateKey_;
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public boolean hasPrivateKey() {
+ return privateKey_ != null;
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPrivateKey() {
+ return privateKey_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : privateKey_;
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPrivateKeyOrBuilder() {
+ return getPrivateKey();
+ }
+
+ public static final int PASSWORD_FIELD_NUMBER = 3;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource password_;
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public boolean hasPassword() {
+ return password_ != null;
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPassword() {
+ return password_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : password_;
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPasswordOrBuilder() {
+ return getPassword();
+ }
+
+ public static final int OCSP_STAPLE_FIELD_NUMBER = 4;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource ocspStaple_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public boolean hasOcspStaple() {
+ return ocspStaple_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getOcspStaple() {
+ return ocspStaple_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : ocspStaple_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getOcspStapleOrBuilder() {
+ return getOcspStaple();
+ }
+
+ public static final int SIGNED_CERTIFICATE_TIMESTAMP_FIELD_NUMBER = 5;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource> signedCertificateTimestamp_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource> getSignedCertificateTimestampList() {
+ return signedCertificateTimestamp_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getSignedCertificateTimestampOrBuilderList() {
+ return signedCertificateTimestamp_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public int getSignedCertificateTimestampCount() {
+ return signedCertificateTimestamp_.size();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getSignedCertificateTimestamp(int index) {
+ return signedCertificateTimestamp_.get(index);
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getSignedCertificateTimestampOrBuilder(
+ int index) {
+ return signedCertificateTimestamp_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (certificateChain_ != null) {
+ output.writeMessage(1, getCertificateChain());
+ }
+ if (privateKey_ != null) {
+ output.writeMessage(2, getPrivateKey());
+ }
+ if (password_ != null) {
+ output.writeMessage(3, getPassword());
+ }
+ if (ocspStaple_ != null) {
+ output.writeMessage(4, getOcspStaple());
+ }
+ for (int i = 0; i < signedCertificateTimestamp_.size(); i++) {
+ output.writeMessage(5, signedCertificateTimestamp_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (certificateChain_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getCertificateChain());
+ }
+ if (privateKey_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getPrivateKey());
+ }
+ if (password_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getPassword());
+ }
+ if (ocspStaple_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getOcspStaple());
+ }
+ for (int i = 0; i < signedCertificateTimestamp_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, signedCertificateTimestamp_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate other = (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) obj;
+
+ boolean result = true;
+ result = result && (hasCertificateChain() == other.hasCertificateChain());
+ if (hasCertificateChain()) {
+ result = result && getCertificateChain()
+ .equals(other.getCertificateChain());
+ }
+ result = result && (hasPrivateKey() == other.hasPrivateKey());
+ if (hasPrivateKey()) {
+ result = result && getPrivateKey()
+ .equals(other.getPrivateKey());
+ }
+ result = result && (hasPassword() == other.hasPassword());
+ if (hasPassword()) {
+ result = result && getPassword()
+ .equals(other.getPassword());
+ }
+ result = result && (hasOcspStaple() == other.hasOcspStaple());
+ if (hasOcspStaple()) {
+ result = result && getOcspStaple()
+ .equals(other.getOcspStaple());
+ }
+ result = result && getSignedCertificateTimestampList()
+ .equals(other.getSignedCertificateTimestampList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasCertificateChain()) {
+ hash = (37 * hash) + CERTIFICATE_CHAIN_FIELD_NUMBER;
+ hash = (53 * hash) + getCertificateChain().hashCode();
+ }
+ if (hasPrivateKey()) {
+ hash = (37 * hash) + PRIVATE_KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getPrivateKey().hashCode();
+ }
+ if (hasPassword()) {
+ hash = (37 * hash) + PASSWORD_FIELD_NUMBER;
+ hash = (53 * hash) + getPassword().hashCode();
+ }
+ if (hasOcspStaple()) {
+ hash = (37 * hash) + OCSP_STAPLE_FIELD_NUMBER;
+ hash = (53 * hash) + getOcspStaple().hashCode();
+ }
+ if (getSignedCertificateTimestampCount() > 0) {
+ hash = (37 * hash) + SIGNED_CERTIFICATE_TIMESTAMP_FIELD_NUMBER;
+ hash = (53 * hash) + getSignedCertificateTimestampList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.auth.TlsCertificate}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.TlsCertificate)
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificateOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsCertificate_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsCertificate_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.class, io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getSignedCertificateTimestampFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (certificateChainBuilder_ == null) {
+ certificateChain_ = null;
+ } else {
+ certificateChain_ = null;
+ certificateChainBuilder_ = null;
+ }
+ if (privateKeyBuilder_ == null) {
+ privateKey_ = null;
+ } else {
+ privateKey_ = null;
+ privateKeyBuilder_ = null;
+ }
+ if (passwordBuilder_ == null) {
+ password_ = null;
+ } else {
+ password_ = null;
+ passwordBuilder_ = null;
+ }
+ if (ocspStapleBuilder_ == null) {
+ ocspStaple_ = null;
+ } else {
+ ocspStaple_ = null;
+ ocspStapleBuilder_ = null;
+ }
+ if (signedCertificateTimestampBuilder_ == null) {
+ signedCertificateTimestamp_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000010);
+ } else {
+ signedCertificateTimestampBuilder_.clear();
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsCertificate_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate result = new io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (certificateChainBuilder_ == null) {
+ result.certificateChain_ = certificateChain_;
+ } else {
+ result.certificateChain_ = certificateChainBuilder_.build();
+ }
+ if (privateKeyBuilder_ == null) {
+ result.privateKey_ = privateKey_;
+ } else {
+ result.privateKey_ = privateKeyBuilder_.build();
+ }
+ if (passwordBuilder_ == null) {
+ result.password_ = password_;
+ } else {
+ result.password_ = passwordBuilder_.build();
+ }
+ if (ocspStapleBuilder_ == null) {
+ result.ocspStaple_ = ocspStaple_;
+ } else {
+ result.ocspStaple_ = ocspStapleBuilder_.build();
+ }
+ if (signedCertificateTimestampBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ signedCertificateTimestamp_ = java.util.Collections.unmodifiableList(signedCertificateTimestamp_);
+ bitField0_ = (bitField0_ & ~0x00000010);
+ }
+ result.signedCertificateTimestamp_ = signedCertificateTimestamp_;
+ } else {
+ result.signedCertificateTimestamp_ = signedCertificateTimestampBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate.getDefaultInstance()) return this;
+ if (other.hasCertificateChain()) {
+ mergeCertificateChain(other.getCertificateChain());
+ }
+ if (other.hasPrivateKey()) {
+ mergePrivateKey(other.getPrivateKey());
+ }
+ if (other.hasPassword()) {
+ mergePassword(other.getPassword());
+ }
+ if (other.hasOcspStaple()) {
+ mergeOcspStaple(other.getOcspStaple());
+ }
+ if (signedCertificateTimestampBuilder_ == null) {
+ if (!other.signedCertificateTimestamp_.isEmpty()) {
+ if (signedCertificateTimestamp_.isEmpty()) {
+ signedCertificateTimestamp_ = other.signedCertificateTimestamp_;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ } else {
+ ensureSignedCertificateTimestampIsMutable();
+ signedCertificateTimestamp_.addAll(other.signedCertificateTimestamp_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.signedCertificateTimestamp_.isEmpty()) {
+ if (signedCertificateTimestampBuilder_.isEmpty()) {
+ signedCertificateTimestampBuilder_.dispose();
+ signedCertificateTimestampBuilder_ = null;
+ signedCertificateTimestamp_ = other.signedCertificateTimestamp_;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ signedCertificateTimestampBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getSignedCertificateTimestampFieldBuilder() : null;
+ } else {
+ signedCertificateTimestampBuilder_.addAllMessages(other.signedCertificateTimestamp_);
+ }
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource certificateChain_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> certificateChainBuilder_;
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public boolean hasCertificateChain() {
+ return certificateChainBuilder_ != null || certificateChain_ != null;
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCertificateChain() {
+ if (certificateChainBuilder_ == null) {
+ return certificateChain_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : certificateChain_;
+ } else {
+ return certificateChainBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public Builder setCertificateChain(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (certificateChainBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ certificateChain_ = value;
+ onChanged();
+ } else {
+ certificateChainBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public Builder setCertificateChain(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (certificateChainBuilder_ == null) {
+ certificateChain_ = builderForValue.build();
+ onChanged();
+ } else {
+ certificateChainBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public Builder mergeCertificateChain(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (certificateChainBuilder_ == null) {
+ if (certificateChain_ != null) {
+ certificateChain_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(certificateChain_).mergeFrom(value).buildPartial();
+ } else {
+ certificateChain_ = value;
+ }
+ onChanged();
+ } else {
+ certificateChainBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public Builder clearCertificateChain() {
+ if (certificateChainBuilder_ == null) {
+ certificateChain_ = null;
+ onChanged();
+ } else {
+ certificateChain_ = null;
+ certificateChainBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getCertificateChainBuilder() {
+
+ onChanged();
+ return getCertificateChainFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCertificateChainOrBuilder() {
+ if (certificateChainBuilder_ != null) {
+ return certificateChainBuilder_.getMessageOrBuilder();
+ } else {
+ return certificateChain_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : certificateChain_;
+ }
+ }
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getCertificateChainFieldBuilder() {
+ if (certificateChainBuilder_ == null) {
+ certificateChainBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getCertificateChain(),
+ getParentForChildren(),
+ isClean());
+ certificateChain_ = null;
+ }
+ return certificateChainBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource privateKey_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> privateKeyBuilder_;
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public boolean hasPrivateKey() {
+ return privateKeyBuilder_ != null || privateKey_ != null;
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPrivateKey() {
+ if (privateKeyBuilder_ == null) {
+ return privateKey_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : privateKey_;
+ } else {
+ return privateKeyBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public Builder setPrivateKey(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (privateKeyBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ privateKey_ = value;
+ onChanged();
+ } else {
+ privateKeyBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public Builder setPrivateKey(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (privateKeyBuilder_ == null) {
+ privateKey_ = builderForValue.build();
+ onChanged();
+ } else {
+ privateKeyBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public Builder mergePrivateKey(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (privateKeyBuilder_ == null) {
+ if (privateKey_ != null) {
+ privateKey_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(privateKey_).mergeFrom(value).buildPartial();
+ } else {
+ privateKey_ = value;
+ }
+ onChanged();
+ } else {
+ privateKeyBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public Builder clearPrivateKey() {
+ if (privateKeyBuilder_ == null) {
+ privateKey_ = null;
+ onChanged();
+ } else {
+ privateKey_ = null;
+ privateKeyBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getPrivateKeyBuilder() {
+
+ onChanged();
+ return getPrivateKeyFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPrivateKeyOrBuilder() {
+ if (privateKeyBuilder_ != null) {
+ return privateKeyBuilder_.getMessageOrBuilder();
+ } else {
+ return privateKey_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : privateKey_;
+ }
+ }
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getPrivateKeyFieldBuilder() {
+ if (privateKeyBuilder_ == null) {
+ privateKeyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getPrivateKey(),
+ getParentForChildren(),
+ isClean());
+ privateKey_ = null;
+ }
+ return privateKeyBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource password_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> passwordBuilder_;
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public boolean hasPassword() {
+ return passwordBuilder_ != null || password_ != null;
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPassword() {
+ if (passwordBuilder_ == null) {
+ return password_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : password_;
+ } else {
+ return passwordBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public Builder setPassword(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (passwordBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ password_ = value;
+ onChanged();
+ } else {
+ passwordBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public Builder setPassword(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (passwordBuilder_ == null) {
+ password_ = builderForValue.build();
+ onChanged();
+ } else {
+ passwordBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public Builder mergePassword(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (passwordBuilder_ == null) {
+ if (password_ != null) {
+ password_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(password_).mergeFrom(value).buildPartial();
+ } else {
+ password_ = value;
+ }
+ onChanged();
+ } else {
+ passwordBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public Builder clearPassword() {
+ if (passwordBuilder_ == null) {
+ password_ = null;
+ onChanged();
+ } else {
+ password_ = null;
+ passwordBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getPasswordBuilder() {
+
+ onChanged();
+ return getPasswordFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPasswordOrBuilder() {
+ if (passwordBuilder_ != null) {
+ return passwordBuilder_.getMessageOrBuilder();
+ } else {
+ return password_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : password_;
+ }
+ }
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getPasswordFieldBuilder() {
+ if (passwordBuilder_ == null) {
+ passwordBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getPassword(),
+ getParentForChildren(),
+ isClean());
+ password_ = null;
+ }
+ return passwordBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource ocspStaple_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> ocspStapleBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public boolean hasOcspStaple() {
+ return ocspStapleBuilder_ != null || ocspStaple_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getOcspStaple() {
+ if (ocspStapleBuilder_ == null) {
+ return ocspStaple_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : ocspStaple_;
+ } else {
+ return ocspStapleBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public Builder setOcspStaple(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (ocspStapleBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ocspStaple_ = value;
+ onChanged();
+ } else {
+ ocspStapleBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public Builder setOcspStaple(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (ocspStapleBuilder_ == null) {
+ ocspStaple_ = builderForValue.build();
+ onChanged();
+ } else {
+ ocspStapleBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public Builder mergeOcspStaple(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (ocspStapleBuilder_ == null) {
+ if (ocspStaple_ != null) {
+ ocspStaple_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(ocspStaple_).mergeFrom(value).buildPartial();
+ } else {
+ ocspStaple_ = value;
+ }
+ onChanged();
+ } else {
+ ocspStapleBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public Builder clearOcspStaple() {
+ if (ocspStapleBuilder_ == null) {
+ ocspStaple_ = null;
+ onChanged();
+ } else {
+ ocspStaple_ = null;
+ ocspStapleBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getOcspStapleBuilder() {
+
+ onChanged();
+ return getOcspStapleFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getOcspStapleOrBuilder() {
+ if (ocspStapleBuilder_ != null) {
+ return ocspStapleBuilder_.getMessageOrBuilder();
+ } else {
+ return ocspStaple_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : ocspStaple_;
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getOcspStapleFieldBuilder() {
+ if (ocspStapleBuilder_ == null) {
+ ocspStapleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getOcspStaple(),
+ getParentForChildren(),
+ isClean());
+ ocspStaple_ = null;
+ }
+ return ocspStapleBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource> signedCertificateTimestamp_ =
+ java.util.Collections.emptyList();
+ private void ensureSignedCertificateTimestampIsMutable() {
+ if (!((bitField0_ & 0x00000010) == 0x00000010)) {
+ signedCertificateTimestamp_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.DataSource>(signedCertificateTimestamp_);
+ bitField0_ |= 0x00000010;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> signedCertificateTimestampBuilder_;
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource> getSignedCertificateTimestampList() {
+ if (signedCertificateTimestampBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(signedCertificateTimestamp_);
+ } else {
+ return signedCertificateTimestampBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public int getSignedCertificateTimestampCount() {
+ if (signedCertificateTimestampBuilder_ == null) {
+ return signedCertificateTimestamp_.size();
+ } else {
+ return signedCertificateTimestampBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getSignedCertificateTimestamp(int index) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ return signedCertificateTimestamp_.get(index);
+ } else {
+ return signedCertificateTimestampBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder setSignedCertificateTimestamp(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSignedCertificateTimestampIsMutable();
+ signedCertificateTimestamp_.set(index, value);
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder setSignedCertificateTimestamp(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ ensureSignedCertificateTimestampIsMutable();
+ signedCertificateTimestamp_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder addSignedCertificateTimestamp(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSignedCertificateTimestampIsMutable();
+ signedCertificateTimestamp_.add(value);
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder addSignedCertificateTimestamp(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSignedCertificateTimestampIsMutable();
+ signedCertificateTimestamp_.add(index, value);
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder addSignedCertificateTimestamp(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ ensureSignedCertificateTimestampIsMutable();
+ signedCertificateTimestamp_.add(builderForValue.build());
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder addSignedCertificateTimestamp(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ ensureSignedCertificateTimestampIsMutable();
+ signedCertificateTimestamp_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder addAllSignedCertificateTimestamp(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.DataSource> values) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ ensureSignedCertificateTimestampIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, signedCertificateTimestamp_);
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder clearSignedCertificateTimestamp() {
+ if (signedCertificateTimestampBuilder_ == null) {
+ signedCertificateTimestamp_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000010);
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public Builder removeSignedCertificateTimestamp(int index) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ ensureSignedCertificateTimestampIsMutable();
+ signedCertificateTimestamp_.remove(index);
+ onChanged();
+ } else {
+ signedCertificateTimestampBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getSignedCertificateTimestampBuilder(
+ int index) {
+ return getSignedCertificateTimestampFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getSignedCertificateTimestampOrBuilder(
+ int index) {
+ if (signedCertificateTimestampBuilder_ == null) {
+ return signedCertificateTimestamp_.get(index); } else {
+ return signedCertificateTimestampBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getSignedCertificateTimestampOrBuilderList() {
+ if (signedCertificateTimestampBuilder_ != null) {
+ return signedCertificateTimestampBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(signedCertificateTimestamp_);
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder addSignedCertificateTimestampBuilder() {
+ return getSignedCertificateTimestampFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder addSignedCertificateTimestampBuilder(
+ int index) {
+ return getSignedCertificateTimestampFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder>
+ getSignedCertificateTimestampBuilderList() {
+ return getSignedCertificateTimestampFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getSignedCertificateTimestampFieldBuilder() {
+ if (signedCertificateTimestampBuilder_ == null) {
+ signedCertificateTimestampBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ signedCertificateTimestamp_,
+ ((bitField0_ & 0x00000010) == 0x00000010),
+ getParentForChildren(),
+ isClean());
+ signedCertificateTimestamp_ = null;
+ }
+ return signedCertificateTimestampBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.TlsCertificate)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.TlsCertificate)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<TlsCertificate>
+ PARSER = new com.google.protobuf.AbstractParser<TlsCertificate>() {
+ public TlsCertificate parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TlsCertificate(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<TlsCertificate> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<TlsCertificate> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsCertificate getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsCertificateOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsCertificateOrBuilder.java
new file mode 100644
index 000000000..220565529
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsCertificateOrBuilder.java
@@ -0,0 +1,156 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface TlsCertificateOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.TlsCertificate)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ boolean hasCertificateChain();
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCertificateChain();
+ /**
+ * <pre>
+ * The TLS certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource certificate_chain = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCertificateChainOrBuilder();
+
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ boolean hasPrivateKey();
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPrivateKey();
+ /**
+ * <pre>
+ * The TLS private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPrivateKeyOrBuilder();
+
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ boolean hasPassword();
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPassword();
+ /**
+ * <pre>
+ * The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ * TLS private key is not password encrypted.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource password = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPasswordOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ boolean hasOcspStaple();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getOcspStaple();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource ocsp_staple = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getOcspStapleOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource>
+ getSignedCertificateTimestampList();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getSignedCertificateTimestamp(int index);
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ int getSignedCertificateTimestampCount();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getSignedCertificateTimestampOrBuilderList();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource signed_certificate_timestamp = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getSignedCertificateTimestampOrBuilder(
+ int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsParameters.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsParameters.java
new file mode 100644
index 000000000..a3f915ab6
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsParameters.java
@@ -0,0 +1,1446 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * Protobuf type {@code envoy.api.v2.auth.TlsParameters}
+ */
+public final class TlsParameters extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.TlsParameters)
+ TlsParametersOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use TlsParameters.newBuilder() to construct.
+ private TlsParameters(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private TlsParameters() {
+ tlsMinimumProtocolVersion_ = 0;
+ tlsMaximumProtocolVersion_ = 0;
+ cipherSuites_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ ecdhCurves_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TlsParameters(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ int rawValue = input.readEnum();
+
+ tlsMinimumProtocolVersion_ = rawValue;
+ break;
+ }
+ case 16: {
+ int rawValue = input.readEnum();
+
+ tlsMaximumProtocolVersion_ = rawValue;
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ cipherSuites_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ cipherSuites_.add(s);
+ break;
+ }
+ case 34: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ ecdhCurves_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000008;
+ }
+ ecdhCurves_.add(s);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ cipherSuites_ = cipherSuites_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ ecdhCurves_ = ecdhCurves_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsParameters_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsParameters_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.class, io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.Builder.class);
+ }
+
+ /**
+ * Protobuf enum {@code envoy.api.v2.auth.TlsParameters.TlsProtocol}
+ */
+ public enum TlsProtocol
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <pre>
+ * Envoy will choose the optimal TLS version.
+ * </pre>
+ *
+ * <code>TLS_AUTO = 0;</code>
+ */
+ TLS_AUTO(0),
+ /**
+ * <pre>
+ * TLS 1.0
+ * </pre>
+ *
+ * <code>TLSv1_0 = 1;</code>
+ */
+ TLSv1_0(1),
+ /**
+ * <pre>
+ * TLS 1.1
+ * </pre>
+ *
+ * <code>TLSv1_1 = 2;</code>
+ */
+ TLSv1_1(2),
+ /**
+ * <pre>
+ * TLS 1.2
+ * </pre>
+ *
+ * <code>TLSv1_2 = 3;</code>
+ */
+ TLSv1_2(3),
+ /**
+ * <pre>
+ * TLS 1.3
+ * </pre>
+ *
+ * <code>TLSv1_3 = 4;</code>
+ */
+ TLSv1_3(4),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <pre>
+ * Envoy will choose the optimal TLS version.
+ * </pre>
+ *
+ * <code>TLS_AUTO = 0;</code>
+ */
+ public static final int TLS_AUTO_VALUE = 0;
+ /**
+ * <pre>
+ * TLS 1.0
+ * </pre>
+ *
+ * <code>TLSv1_0 = 1;</code>
+ */
+ public static final int TLSv1_0_VALUE = 1;
+ /**
+ * <pre>
+ * TLS 1.1
+ * </pre>
+ *
+ * <code>TLSv1_1 = 2;</code>
+ */
+ public static final int TLSv1_1_VALUE = 2;
+ /**
+ * <pre>
+ * TLS 1.2
+ * </pre>
+ *
+ * <code>TLSv1_2 = 3;</code>
+ */
+ public static final int TLSv1_2_VALUE = 3;
+ /**
+ * <pre>
+ * TLS 1.3
+ * </pre>
+ *
+ * <code>TLSv1_3 = 4;</code>
+ */
+ public static final int TLSv1_3_VALUE = 4;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static TlsProtocol valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static TlsProtocol forNumber(int value) {
+ switch (value) {
+ case 0: return TLS_AUTO;
+ case 1: return TLSv1_0;
+ case 2: return TLSv1_1;
+ case 3: return TLSv1_2;
+ case 4: return TLSv1_3;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<TlsProtocol>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ TlsProtocol> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<TlsProtocol>() {
+ public TlsProtocol findValueByNumber(int number) {
+ return TlsProtocol.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final TlsProtocol[] VALUES = values();
+
+ public static TlsProtocol valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private TlsProtocol(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.auth.TlsParameters.TlsProtocol)
+ }
+
+ private int bitField0_;
+ public static final int TLS_MINIMUM_PROTOCOL_VERSION_FIELD_NUMBER = 1;
+ private int tlsMinimumProtocolVersion_;
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getTlsMinimumProtocolVersionValue() {
+ return tlsMinimumProtocolVersion_;
+ }
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol getTlsMinimumProtocolVersion() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol result = io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.valueOf(tlsMinimumProtocolVersion_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.UNRECOGNIZED : result;
+ }
+
+ public static final int TLS_MAXIMUM_PROTOCOL_VERSION_FIELD_NUMBER = 2;
+ private int tlsMaximumProtocolVersion_;
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getTlsMaximumProtocolVersionValue() {
+ return tlsMaximumProtocolVersion_;
+ }
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol getTlsMaximumProtocolVersion() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol result = io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.valueOf(tlsMaximumProtocolVersion_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.UNRECOGNIZED : result;
+ }
+
+ public static final int CIPHER_SUITES_FIELD_NUMBER = 3;
+ private com.google.protobuf.LazyStringList cipherSuites_;
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getCipherSuitesList() {
+ return cipherSuites_;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public int getCipherSuitesCount() {
+ return cipherSuites_.size();
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public java.lang.String getCipherSuites(int index) {
+ return cipherSuites_.get(index);
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getCipherSuitesBytes(int index) {
+ return cipherSuites_.getByteString(index);
+ }
+
+ public static final int ECDH_CURVES_FIELD_NUMBER = 4;
+ private com.google.protobuf.LazyStringList ecdhCurves_;
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getEcdhCurvesList() {
+ return ecdhCurves_;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public int getEcdhCurvesCount() {
+ return ecdhCurves_.size();
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public java.lang.String getEcdhCurves(int index) {
+ return ecdhCurves_.get(index);
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getEcdhCurvesBytes(int index) {
+ return ecdhCurves_.getByteString(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (tlsMinimumProtocolVersion_ != io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.TLS_AUTO.getNumber()) {
+ output.writeEnum(1, tlsMinimumProtocolVersion_);
+ }
+ if (tlsMaximumProtocolVersion_ != io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.TLS_AUTO.getNumber()) {
+ output.writeEnum(2, tlsMaximumProtocolVersion_);
+ }
+ for (int i = 0; i < cipherSuites_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, cipherSuites_.getRaw(i));
+ }
+ for (int i = 0; i < ecdhCurves_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, ecdhCurves_.getRaw(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (tlsMinimumProtocolVersion_ != io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.TLS_AUTO.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(1, tlsMinimumProtocolVersion_);
+ }
+ if (tlsMaximumProtocolVersion_ != io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.TLS_AUTO.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(2, tlsMaximumProtocolVersion_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < cipherSuites_.size(); i++) {
+ dataSize += computeStringSizeNoTag(cipherSuites_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getCipherSuitesList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < ecdhCurves_.size(); i++) {
+ dataSize += computeStringSizeNoTag(ecdhCurves_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getEcdhCurvesList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters other = (io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters) obj;
+
+ boolean result = true;
+ result = result && tlsMinimumProtocolVersion_ == other.tlsMinimumProtocolVersion_;
+ result = result && tlsMaximumProtocolVersion_ == other.tlsMaximumProtocolVersion_;
+ result = result && getCipherSuitesList()
+ .equals(other.getCipherSuitesList());
+ result = result && getEcdhCurvesList()
+ .equals(other.getEcdhCurvesList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + TLS_MINIMUM_PROTOCOL_VERSION_FIELD_NUMBER;
+ hash = (53 * hash) + tlsMinimumProtocolVersion_;
+ hash = (37 * hash) + TLS_MAXIMUM_PROTOCOL_VERSION_FIELD_NUMBER;
+ hash = (53 * hash) + tlsMaximumProtocolVersion_;
+ if (getCipherSuitesCount() > 0) {
+ hash = (37 * hash) + CIPHER_SUITES_FIELD_NUMBER;
+ hash = (53 * hash) + getCipherSuitesList().hashCode();
+ }
+ if (getEcdhCurvesCount() > 0) {
+ hash = (37 * hash) + ECDH_CURVES_FIELD_NUMBER;
+ hash = (53 * hash) + getEcdhCurvesList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.auth.TlsParameters}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.TlsParameters)
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParametersOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsParameters_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsParameters_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.class, io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ tlsMinimumProtocolVersion_ = 0;
+
+ tlsMaximumProtocolVersion_ = 0;
+
+ cipherSuites_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ ecdhCurves_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsParameters_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters result = new io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.tlsMinimumProtocolVersion_ = tlsMinimumProtocolVersion_;
+ result.tlsMaximumProtocolVersion_ = tlsMaximumProtocolVersion_;
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ cipherSuites_ = cipherSuites_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.cipherSuites_ = cipherSuites_;
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ ecdhCurves_ = ecdhCurves_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ }
+ result.ecdhCurves_ = ecdhCurves_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.getDefaultInstance()) return this;
+ if (other.tlsMinimumProtocolVersion_ != 0) {
+ setTlsMinimumProtocolVersionValue(other.getTlsMinimumProtocolVersionValue());
+ }
+ if (other.tlsMaximumProtocolVersion_ != 0) {
+ setTlsMaximumProtocolVersionValue(other.getTlsMaximumProtocolVersionValue());
+ }
+ if (!other.cipherSuites_.isEmpty()) {
+ if (cipherSuites_.isEmpty()) {
+ cipherSuites_ = other.cipherSuites_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureCipherSuitesIsMutable();
+ cipherSuites_.addAll(other.cipherSuites_);
+ }
+ onChanged();
+ }
+ if (!other.ecdhCurves_.isEmpty()) {
+ if (ecdhCurves_.isEmpty()) {
+ ecdhCurves_ = other.ecdhCurves_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ ensureEcdhCurvesIsMutable();
+ ecdhCurves_.addAll(other.ecdhCurves_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int tlsMinimumProtocolVersion_ = 0;
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getTlsMinimumProtocolVersionValue() {
+ return tlsMinimumProtocolVersion_;
+ }
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTlsMinimumProtocolVersionValue(int value) {
+ tlsMinimumProtocolVersion_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol getTlsMinimumProtocolVersion() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol result = io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.valueOf(tlsMinimumProtocolVersion_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTlsMinimumProtocolVersion(io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ tlsMinimumProtocolVersion_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearTlsMinimumProtocolVersion() {
+
+ tlsMinimumProtocolVersion_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int tlsMaximumProtocolVersion_ = 0;
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getTlsMaximumProtocolVersionValue() {
+ return tlsMaximumProtocolVersion_;
+ }
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTlsMaximumProtocolVersionValue(int value) {
+ tlsMaximumProtocolVersion_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol getTlsMaximumProtocolVersion() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol result = io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.valueOf(tlsMaximumProtocolVersion_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTlsMaximumProtocolVersion(io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ tlsMaximumProtocolVersion_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearTlsMaximumProtocolVersion() {
+
+ tlsMaximumProtocolVersion_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList cipherSuites_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureCipherSuitesIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ cipherSuites_ = new com.google.protobuf.LazyStringArrayList(cipherSuites_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getCipherSuitesList() {
+ return cipherSuites_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public int getCipherSuitesCount() {
+ return cipherSuites_.size();
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public java.lang.String getCipherSuites(int index) {
+ return cipherSuites_.get(index);
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getCipherSuitesBytes(int index) {
+ return cipherSuites_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public Builder setCipherSuites(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCipherSuitesIsMutable();
+ cipherSuites_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public Builder addCipherSuites(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCipherSuitesIsMutable();
+ cipherSuites_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public Builder addAllCipherSuites(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureCipherSuitesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, cipherSuites_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public Builder clearCipherSuites() {
+ cipherSuites_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ public Builder addCipherSuitesBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureCipherSuitesIsMutable();
+ cipherSuites_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList ecdhCurves_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureEcdhCurvesIsMutable() {
+ if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+ ecdhCurves_ = new com.google.protobuf.LazyStringArrayList(ecdhCurves_);
+ bitField0_ |= 0x00000008;
+ }
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getEcdhCurvesList() {
+ return ecdhCurves_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public int getEcdhCurvesCount() {
+ return ecdhCurves_.size();
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public java.lang.String getEcdhCurves(int index) {
+ return ecdhCurves_.get(index);
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getEcdhCurvesBytes(int index) {
+ return ecdhCurves_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public Builder setEcdhCurves(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEcdhCurvesIsMutable();
+ ecdhCurves_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public Builder addEcdhCurves(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEcdhCurvesIsMutable();
+ ecdhCurves_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public Builder addAllEcdhCurves(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureEcdhCurvesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, ecdhCurves_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public Builder clearEcdhCurves() {
+ ecdhCurves_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ public Builder addEcdhCurvesBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureEcdhCurvesIsMutable();
+ ecdhCurves_.add(value);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.TlsParameters)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.TlsParameters)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<TlsParameters>
+ PARSER = new com.google.protobuf.AbstractParser<TlsParameters>() {
+ public TlsParameters parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TlsParameters(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<TlsParameters> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<TlsParameters> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsParametersOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsParametersOrBuilder.java
new file mode 100644
index 000000000..39066c731
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsParametersOrBuilder.java
@@ -0,0 +1,181 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface TlsParametersOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.TlsParameters)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ int getTlsMinimumProtocolVersionValue();
+ /**
+ * <pre>
+ * Minimum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_minimum_protocol_version = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol getTlsMinimumProtocolVersion();
+
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ int getTlsMaximumProtocolVersionValue();
+ /**
+ * <pre>
+ * Maximum TLS protocol version.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.TlsParameters.TlsProtocol tls_maximum_protocol_version = 2 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsParameters.TlsProtocol getTlsMaximumProtocolVersion();
+
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ java.util.List<java.lang.String>
+ getCipherSuitesList();
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ int getCipherSuitesCount();
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ java.lang.String getCipherSuites(int index);
+ /**
+ * <pre>
+ * If specified, the TLS listener will only support the specified `cipher list
+ * &lt;https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration&gt;`_.
+ * If not specified, the default list:
+ * .. code-block:: none
+ * [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ * [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ * ECDHE-ECDSA-AES128-SHA
+ * ECDHE-RSA-AES128-SHA
+ * AES128-GCM-SHA256
+ * AES128-SHA
+ * ECDHE-ECDSA-AES256-GCM-SHA384
+ * ECDHE-RSA-AES256-GCM-SHA384
+ * ECDHE-ECDSA-AES256-SHA
+ * ECDHE-RSA-AES256-SHA
+ * AES256-GCM-SHA384
+ * AES256-SHA
+ * will be used.
+ * </pre>
+ *
+ * <code>repeated string cipher_suites = 3;</code>
+ */
+ com.google.protobuf.ByteString
+ getCipherSuitesBytes(int index);
+
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ java.util.List<java.lang.String>
+ getEcdhCurvesList();
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ int getEcdhCurvesCount();
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ java.lang.String getEcdhCurves(int index);
+ /**
+ * <pre>
+ * If specified, the TLS connection will only support the specified ECDH
+ * curves. If not specified, the default curves (X25519, P-256) will be used.
+ * </pre>
+ *
+ * <code>repeated string ecdh_curves = 4;</code>
+ */
+ com.google.protobuf.ByteString
+ getEcdhCurvesBytes(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsSessionTicketKeys.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsSessionTicketKeys.java
new file mode 100644
index 000000000..51e707b85
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsSessionTicketKeys.java
@@ -0,0 +1,1217 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * Protobuf type {@code envoy.api.v2.auth.TlsSessionTicketKeys}
+ */
+public final class TlsSessionTicketKeys extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.TlsSessionTicketKeys)
+ TlsSessionTicketKeysOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use TlsSessionTicketKeys.newBuilder() to construct.
+ private TlsSessionTicketKeys(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private TlsSessionTicketKeys() {
+ keys_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TlsSessionTicketKeys(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ keys_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.DataSource>();
+ mutable_bitField0_ |= 0x00000001;
+ }
+ keys_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ keys_ = java.util.Collections.unmodifiableList(keys_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.class, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder.class);
+ }
+
+ public static final int KEYS_FIELD_NUMBER = 1;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource> keys_;
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource> getKeysList() {
+ return keys_;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getKeysOrBuilderList() {
+ return keys_;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getKeysCount() {
+ return keys_.size();
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getKeys(int index) {
+ return keys_.get(index);
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getKeysOrBuilder(
+ int index) {
+ return keys_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ for (int i = 0; i < keys_.size(); i++) {
+ output.writeMessage(1, keys_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ for (int i = 0; i < keys_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, keys_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys other = (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) obj;
+
+ boolean result = true;
+ result = result && getKeysList()
+ .equals(other.getKeysList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (getKeysCount() > 0) {
+ hash = (37 * hash) + KEYS_FIELD_NUMBER;
+ hash = (53 * hash) + getKeysList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.auth.TlsSessionTicketKeys}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.TlsSessionTicketKeys)
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeysOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.class, io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getKeysFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (keysBuilder_ == null) {
+ keys_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ keysBuilder_.clear();
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_TlsSessionTicketKeys_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys result = new io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys(this);
+ int from_bitField0_ = bitField0_;
+ if (keysBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ keys_ = java.util.Collections.unmodifiableList(keys_);
+ bitField0_ = (bitField0_ & ~0x00000001);
+ }
+ result.keys_ = keys_;
+ } else {
+ result.keys_ = keysBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys.getDefaultInstance()) return this;
+ if (keysBuilder_ == null) {
+ if (!other.keys_.isEmpty()) {
+ if (keys_.isEmpty()) {
+ keys_ = other.keys_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ ensureKeysIsMutable();
+ keys_.addAll(other.keys_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.keys_.isEmpty()) {
+ if (keysBuilder_.isEmpty()) {
+ keysBuilder_.dispose();
+ keysBuilder_ = null;
+ keys_ = other.keys_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ keysBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getKeysFieldBuilder() : null;
+ } else {
+ keysBuilder_.addAllMessages(other.keys_);
+ }
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource> keys_ =
+ java.util.Collections.emptyList();
+ private void ensureKeysIsMutable() {
+ if (!((bitField0_ & 0x00000001) == 0x00000001)) {
+ keys_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.DataSource>(keys_);
+ bitField0_ |= 0x00000001;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> keysBuilder_;
+
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource> getKeysList() {
+ if (keysBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(keys_);
+ } else {
+ return keysBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getKeysCount() {
+ if (keysBuilder_ == null) {
+ return keys_.size();
+ } else {
+ return keysBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getKeys(int index) {
+ if (keysBuilder_ == null) {
+ return keys_.get(index);
+ } else {
+ return keysBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setKeys(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (keysBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureKeysIsMutable();
+ keys_.set(index, value);
+ onChanged();
+ } else {
+ keysBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setKeys(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (keysBuilder_ == null) {
+ ensureKeysIsMutable();
+ keys_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ keysBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addKeys(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (keysBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureKeysIsMutable();
+ keys_.add(value);
+ onChanged();
+ } else {
+ keysBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addKeys(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (keysBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureKeysIsMutable();
+ keys_.add(index, value);
+ onChanged();
+ } else {
+ keysBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addKeys(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (keysBuilder_ == null) {
+ ensureKeysIsMutable();
+ keys_.add(builderForValue.build());
+ onChanged();
+ } else {
+ keysBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addKeys(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (keysBuilder_ == null) {
+ ensureKeysIsMutable();
+ keys_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ keysBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addAllKeys(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.DataSource> values) {
+ if (keysBuilder_ == null) {
+ ensureKeysIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, keys_);
+ onChanged();
+ } else {
+ keysBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearKeys() {
+ if (keysBuilder_ == null) {
+ keys_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ keysBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder removeKeys(int index) {
+ if (keysBuilder_ == null) {
+ ensureKeysIsMutable();
+ keys_.remove(index);
+ onChanged();
+ } else {
+ keysBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getKeysBuilder(
+ int index) {
+ return getKeysFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getKeysOrBuilder(
+ int index) {
+ if (keysBuilder_ == null) {
+ return keys_.get(index); } else {
+ return keysBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getKeysOrBuilderList() {
+ if (keysBuilder_ != null) {
+ return keysBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(keys_);
+ }
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder addKeysBuilder() {
+ return getKeysFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder addKeysBuilder(
+ int index) {
+ return getKeysFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder>
+ getKeysBuilderList() {
+ return getKeysFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getKeysFieldBuilder() {
+ if (keysBuilder_ == null) {
+ keysBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ keys_,
+ ((bitField0_ & 0x00000001) == 0x00000001),
+ getParentForChildren(),
+ isClean());
+ keys_ = null;
+ }
+ return keysBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.TlsSessionTicketKeys)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.TlsSessionTicketKeys)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<TlsSessionTicketKeys>
+ PARSER = new com.google.protobuf.AbstractParser<TlsSessionTicketKeys>() {
+ public TlsSessionTicketKeys parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TlsSessionTicketKeys(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<TlsSessionTicketKeys> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<TlsSessionTicketKeys> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.TlsSessionTicketKeys getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsSessionTicketKeysOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsSessionTicketKeysOrBuilder.java
new file mode 100644
index 000000000..4af64cd71
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/TlsSessionTicketKeysOrBuilder.java
@@ -0,0 +1,138 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface TlsSessionTicketKeysOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.TlsSessionTicketKeys)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.DataSource>
+ getKeysList();
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getKeys(int index);
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ int getKeysCount();
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getKeysOrBuilderList();
+ /**
+ * <pre>
+ * Keys for encrypting and decrypting TLS session tickets. The
+ * first key in the array contains the key to encrypt all new sessions created by this context.
+ * All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ * by, for example, putting the new key first, and the previous key second.
+ * If :ref:`session_ticket_keys &lt;envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys&gt;`
+ * is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ * use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ * or on different hosts.
+ * Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ * example, the output of ``openssl rand 80``.
+ * .. attention::
+ * Using this feature has serious security considerations and risks. Improper handling of keys
+ * may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ * secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ * discussion. To minimize the risk, you must:
+ * * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ * * Rotate session ticket keys at least daily, and preferably hourly
+ * * Always generate keys using a cryptographically-secure random data source
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.DataSource keys = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getKeysOrBuilder(
+ int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/UpstreamTlsContext.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/UpstreamTlsContext.java
new file mode 100644
index 000000000..23c42d763
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/UpstreamTlsContext.java
@@ -0,0 +1,1109 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+/**
+ * Protobuf type {@code envoy.api.v2.auth.UpstreamTlsContext}
+ */
+public final class UpstreamTlsContext extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.auth.UpstreamTlsContext)
+ UpstreamTlsContextOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UpstreamTlsContext.newBuilder() to construct.
+ private UpstreamTlsContext(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private UpstreamTlsContext() {
+ sni_ = "";
+ allowRenegotiation_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UpstreamTlsContext(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder subBuilder = null;
+ if (commonTlsContext_ != null) {
+ subBuilder = commonTlsContext_.toBuilder();
+ }
+ commonTlsContext_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(commonTlsContext_);
+ commonTlsContext_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ sni_ = s;
+ break;
+ }
+ case 24: {
+
+ allowRenegotiation_ = input.readBool();
+ break;
+ }
+ case 34: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxSessionKeys_ != null) {
+ subBuilder = maxSessionKeys_.toBuilder();
+ }
+ maxSessionKeys_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxSessionKeys_);
+ maxSessionKeys_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_UpstreamTlsContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_UpstreamTlsContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.Builder.class);
+ }
+
+ public static final int COMMON_TLS_CONTEXT_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext commonTlsContext_;
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public boolean hasCommonTlsContext() {
+ return commonTlsContext_ != null;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getCommonTlsContext() {
+ return commonTlsContext_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.getDefaultInstance() : commonTlsContext_;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder getCommonTlsContextOrBuilder() {
+ return getCommonTlsContext();
+ }
+
+ public static final int SNI_FIELD_NUMBER = 2;
+ private volatile java.lang.Object sni_;
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getSni() {
+ java.lang.Object ref = sni_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ sni_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getSniBytes() {
+ java.lang.Object ref = sni_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ sni_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ALLOW_RENEGOTIATION_FIELD_NUMBER = 3;
+ private boolean allowRenegotiation_;
+ /**
+ * <pre>
+ * If true, server-initiated TLS renegotiation will be allowed.
+ * .. attention::
+ * TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary.
+ * </pre>
+ *
+ * <code>bool allow_renegotiation = 3;</code>
+ */
+ public boolean getAllowRenegotiation() {
+ return allowRenegotiation_;
+ }
+
+ public static final int MAX_SESSION_KEYS_FIELD_NUMBER = 4;
+ private com.google.protobuf.UInt32Value maxSessionKeys_;
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public boolean hasMaxSessionKeys() {
+ return maxSessionKeys_ != null;
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxSessionKeys() {
+ return maxSessionKeys_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxSessionKeys_;
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxSessionKeysOrBuilder() {
+ return getMaxSessionKeys();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (commonTlsContext_ != null) {
+ output.writeMessage(1, getCommonTlsContext());
+ }
+ if (!getSniBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, sni_);
+ }
+ if (allowRenegotiation_ != false) {
+ output.writeBool(3, allowRenegotiation_);
+ }
+ if (maxSessionKeys_ != null) {
+ output.writeMessage(4, getMaxSessionKeys());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (commonTlsContext_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getCommonTlsContext());
+ }
+ if (!getSniBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, sni_);
+ }
+ if (allowRenegotiation_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(3, allowRenegotiation_);
+ }
+ if (maxSessionKeys_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getMaxSessionKeys());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext other = (io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext) obj;
+
+ boolean result = true;
+ result = result && (hasCommonTlsContext() == other.hasCommonTlsContext());
+ if (hasCommonTlsContext()) {
+ result = result && getCommonTlsContext()
+ .equals(other.getCommonTlsContext());
+ }
+ result = result && getSni()
+ .equals(other.getSni());
+ result = result && (getAllowRenegotiation()
+ == other.getAllowRenegotiation());
+ result = result && (hasMaxSessionKeys() == other.hasMaxSessionKeys());
+ if (hasMaxSessionKeys()) {
+ result = result && getMaxSessionKeys()
+ .equals(other.getMaxSessionKeys());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasCommonTlsContext()) {
+ hash = (37 * hash) + COMMON_TLS_CONTEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getCommonTlsContext().hashCode();
+ }
+ hash = (37 * hash) + SNI_FIELD_NUMBER;
+ hash = (53 * hash) + getSni().hashCode();
+ hash = (37 * hash) + ALLOW_RENEGOTIATION_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getAllowRenegotiation());
+ if (hasMaxSessionKeys()) {
+ hash = (37 * hash) + MAX_SESSION_KEYS_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxSessionKeys().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.auth.UpstreamTlsContext}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.auth.UpstreamTlsContext)
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContextOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_UpstreamTlsContext_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_UpstreamTlsContext_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.class, io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (commonTlsContextBuilder_ == null) {
+ commonTlsContext_ = null;
+ } else {
+ commonTlsContext_ = null;
+ commonTlsContextBuilder_ = null;
+ }
+ sni_ = "";
+
+ allowRenegotiation_ = false;
+
+ if (maxSessionKeysBuilder_ == null) {
+ maxSessionKeys_ = null;
+ } else {
+ maxSessionKeys_ = null;
+ maxSessionKeysBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.Cert.internal_static_envoy_api_v2_auth_UpstreamTlsContext_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext build() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext result = new io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext(this);
+ if (commonTlsContextBuilder_ == null) {
+ result.commonTlsContext_ = commonTlsContext_;
+ } else {
+ result.commonTlsContext_ = commonTlsContextBuilder_.build();
+ }
+ result.sni_ = sni_;
+ result.allowRenegotiation_ = allowRenegotiation_;
+ if (maxSessionKeysBuilder_ == null) {
+ result.maxSessionKeys_ = maxSessionKeys_;
+ } else {
+ result.maxSessionKeys_ = maxSessionKeysBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext.getDefaultInstance()) return this;
+ if (other.hasCommonTlsContext()) {
+ mergeCommonTlsContext(other.getCommonTlsContext());
+ }
+ if (!other.getSni().isEmpty()) {
+ sni_ = other.sni_;
+ onChanged();
+ }
+ if (other.getAllowRenegotiation() != false) {
+ setAllowRenegotiation(other.getAllowRenegotiation());
+ }
+ if (other.hasMaxSessionKeys()) {
+ mergeMaxSessionKeys(other.getMaxSessionKeys());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext commonTlsContext_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder> commonTlsContextBuilder_;
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public boolean hasCommonTlsContext() {
+ return commonTlsContextBuilder_ != null || commonTlsContext_ != null;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getCommonTlsContext() {
+ if (commonTlsContextBuilder_ == null) {
+ return commonTlsContext_ == null ? io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.getDefaultInstance() : commonTlsContext_;
+ } else {
+ return commonTlsContextBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public Builder setCommonTlsContext(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext value) {
+ if (commonTlsContextBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ commonTlsContext_ = value;
+ onChanged();
+ } else {
+ commonTlsContextBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public Builder setCommonTlsContext(
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder builderForValue) {
+ if (commonTlsContextBuilder_ == null) {
+ commonTlsContext_ = builderForValue.build();
+ onChanged();
+ } else {
+ commonTlsContextBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public Builder mergeCommonTlsContext(io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext value) {
+ if (commonTlsContextBuilder_ == null) {
+ if (commonTlsContext_ != null) {
+ commonTlsContext_ =
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.newBuilder(commonTlsContext_).mergeFrom(value).buildPartial();
+ } else {
+ commonTlsContext_ = value;
+ }
+ onChanged();
+ } else {
+ commonTlsContextBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public Builder clearCommonTlsContext() {
+ if (commonTlsContextBuilder_ == null) {
+ commonTlsContext_ = null;
+ onChanged();
+ } else {
+ commonTlsContext_ = null;
+ commonTlsContextBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder getCommonTlsContextBuilder() {
+
+ onChanged();
+ return getCommonTlsContextFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder getCommonTlsContextOrBuilder() {
+ if (commonTlsContextBuilder_ != null) {
+ return commonTlsContextBuilder_.getMessageOrBuilder();
+ } else {
+ return commonTlsContext_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.getDefaultInstance() : commonTlsContext_;
+ }
+ }
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder>
+ getCommonTlsContextFieldBuilder() {
+ if (commonTlsContextBuilder_ == null) {
+ commonTlsContextBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext.Builder, io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder>(
+ getCommonTlsContext(),
+ getParentForChildren(),
+ isClean());
+ commonTlsContext_ = null;
+ }
+ return commonTlsContextBuilder_;
+ }
+
+ private java.lang.Object sni_ = "";
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getSni() {
+ java.lang.Object ref = sni_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ sni_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getSniBytes() {
+ java.lang.Object ref = sni_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ sni_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setSni(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ sni_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearSni() {
+
+ sni_ = getDefaultInstance().getSni();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setSniBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ sni_ = value;
+ onChanged();
+ return this;
+ }
+
+ private boolean allowRenegotiation_ ;
+ /**
+ * <pre>
+ * If true, server-initiated TLS renegotiation will be allowed.
+ * .. attention::
+ * TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary.
+ * </pre>
+ *
+ * <code>bool allow_renegotiation = 3;</code>
+ */
+ public boolean getAllowRenegotiation() {
+ return allowRenegotiation_;
+ }
+ /**
+ * <pre>
+ * If true, server-initiated TLS renegotiation will be allowed.
+ * .. attention::
+ * TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary.
+ * </pre>
+ *
+ * <code>bool allow_renegotiation = 3;</code>
+ */
+ public Builder setAllowRenegotiation(boolean value) {
+
+ allowRenegotiation_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If true, server-initiated TLS renegotiation will be allowed.
+ * .. attention::
+ * TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary.
+ * </pre>
+ *
+ * <code>bool allow_renegotiation = 3;</code>
+ */
+ public Builder clearAllowRenegotiation() {
+
+ allowRenegotiation_ = false;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value maxSessionKeys_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxSessionKeysBuilder_;
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public boolean hasMaxSessionKeys() {
+ return maxSessionKeysBuilder_ != null || maxSessionKeys_ != null;
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxSessionKeys() {
+ if (maxSessionKeysBuilder_ == null) {
+ return maxSessionKeys_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxSessionKeys_;
+ } else {
+ return maxSessionKeysBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public Builder setMaxSessionKeys(com.google.protobuf.UInt32Value value) {
+ if (maxSessionKeysBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxSessionKeys_ = value;
+ onChanged();
+ } else {
+ maxSessionKeysBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public Builder setMaxSessionKeys(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxSessionKeysBuilder_ == null) {
+ maxSessionKeys_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxSessionKeysBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public Builder mergeMaxSessionKeys(com.google.protobuf.UInt32Value value) {
+ if (maxSessionKeysBuilder_ == null) {
+ if (maxSessionKeys_ != null) {
+ maxSessionKeys_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxSessionKeys_).mergeFrom(value).buildPartial();
+ } else {
+ maxSessionKeys_ = value;
+ }
+ onChanged();
+ } else {
+ maxSessionKeysBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public Builder clearMaxSessionKeys() {
+ if (maxSessionKeysBuilder_ == null) {
+ maxSessionKeys_ = null;
+ onChanged();
+ } else {
+ maxSessionKeys_ = null;
+ maxSessionKeysBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxSessionKeysBuilder() {
+
+ onChanged();
+ return getMaxSessionKeysFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxSessionKeysOrBuilder() {
+ if (maxSessionKeysBuilder_ != null) {
+ return maxSessionKeysBuilder_.getMessageOrBuilder();
+ } else {
+ return maxSessionKeys_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxSessionKeys_;
+ }
+ }
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxSessionKeysFieldBuilder() {
+ if (maxSessionKeysBuilder_ == null) {
+ maxSessionKeysBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxSessionKeys(),
+ getParentForChildren(),
+ isClean());
+ maxSessionKeys_ = null;
+ }
+ return maxSessionKeysBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.auth.UpstreamTlsContext)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.auth.UpstreamTlsContext)
+ private static final io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<UpstreamTlsContext>
+ PARSER = new com.google.protobuf.AbstractParser<UpstreamTlsContext>() {
+ public UpstreamTlsContext parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UpstreamTlsContext(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<UpstreamTlsContext> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<UpstreamTlsContext> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.auth.UpstreamTlsContext getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/UpstreamTlsContextOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/UpstreamTlsContextOrBuilder.java
new file mode 100644
index 000000000..35997b993
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/auth/UpstreamTlsContextOrBuilder.java
@@ -0,0 +1,94 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/auth/cert.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.auth;
+
+public interface UpstreamTlsContextOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.auth.UpstreamTlsContext)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ boolean hasCommonTlsContext();
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContext getCommonTlsContext();
+ /**
+ * <pre>
+ * Common TLS context settings.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.auth.CommonTlsContext common_tls_context = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.auth.CommonTlsContextOrBuilder getCommonTlsContextOrBuilder();
+
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getSni();
+ /**
+ * <pre>
+ * SNI string to use when creating TLS backend connections.
+ * </pre>
+ *
+ * <code>string sni = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getSniBytes();
+
+ /**
+ * <pre>
+ * If true, server-initiated TLS renegotiation will be allowed.
+ * .. attention::
+ * TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary.
+ * </pre>
+ *
+ * <code>bool allow_renegotiation = 3;</code>
+ */
+ boolean getAllowRenegotiation();
+
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ boolean hasMaxSessionKeys();
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ com.google.protobuf.UInt32Value getMaxSessionKeys();
+ /**
+ * <pre>
+ * Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ * for TLSv1.2 and older) to store for the purpose of session resumption.
+ * Defaults to 1, setting this to 0 disables session resumption.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_session_keys = 4;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxSessionKeysOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreaker.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreaker.java
new file mode 100644
index 000000000..f88ffbe71
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreaker.java
@@ -0,0 +1,83 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cluster/circuit_breaker.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.cluster;
+
+public final class CircuitBreaker {
+ private CircuitBreaker() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n*envoy/api/v2/cluster/circuit_breaker.p" +
+ "roto\022\024envoy.api.v2.cluster\032\034envoy/api/v2" +
+ "/core/base.proto\032\036google/protobuf/wrappe" +
+ "rs.proto\"\366\002\n\017CircuitBreakers\022D\n\nthreshol" +
+ "ds\030\001 \003(\01320.envoy.api.v2.cluster.CircuitB" +
+ "reakers.Thresholds\032\234\002\n\nThresholds\0224\n\010pri" +
+ "ority\030\001 \001(\0162\".envoy.api.v2.core.RoutingP" +
+ "riority\0225\n\017max_connections\030\002 \001(\0132\034.googl" +
+ "e.protobuf.UInt32Value\022:\n\024max_pending_re" +
+ "quests\030\003 \001(\0132\034.google.protobuf.UInt32Val" +
+ "ue\0222\n\014max_requests\030\004 \001(\0132\034.google.protob" +
+ "uf.UInt32Value\0221\n\013max_retries\030\005 \001(\0132\034.go" +
+ "ogle.protobuf.UInt32ValueBM\n\'io.grpc.xds" +
+ ".shaded.envoy.api.v2.clusterP\001Z\007cluster\252" +
+ "\002\026Envoy.Api.V2.ClusterNSb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_descriptor,
+ new java.lang.String[] { "Thresholds", });
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_descriptor =
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_descriptor,
+ new java.lang.String[] { "Priority", "MaxConnections", "MaxPendingRequests", "MaxRequests", "MaxRetries", });
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreakers.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreakers.java
new file mode 100644
index 000000000..734189022
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreakers.java
@@ -0,0 +1,2557 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cluster/circuit_breaker.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.cluster;
+
+/**
+ * <pre>
+ * :ref:`Circuit breaking&lt;arch_overview_circuit_break&gt;` settings can be
+ * specified individually for each defined priority.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.cluster.CircuitBreakers}
+ */
+public final class CircuitBreakers extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.cluster.CircuitBreakers)
+ CircuitBreakersOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use CircuitBreakers.newBuilder() to construct.
+ private CircuitBreakers(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CircuitBreakers() {
+ thresholds_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CircuitBreakers(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ thresholds_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds>();
+ mutable_bitField0_ |= 0x00000001;
+ }
+ thresholds_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ thresholds_ = java.util.Collections.unmodifiableList(thresholds_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.class, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Builder.class);
+ }
+
+ public interface ThresholdsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.cluster.CircuitBreakers.Thresholds)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ int getPriorityValue();
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority getPriority();
+
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ boolean hasMaxConnections();
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ com.google.protobuf.UInt32Value getMaxConnections();
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxConnectionsOrBuilder();
+
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ boolean hasMaxPendingRequests();
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ com.google.protobuf.UInt32Value getMaxPendingRequests();
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxPendingRequestsOrBuilder();
+
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ boolean hasMaxRequests();
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ com.google.protobuf.UInt32Value getMaxRequests();
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsOrBuilder();
+
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ boolean hasMaxRetries();
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ com.google.protobuf.UInt32Value getMaxRetries();
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxRetriesOrBuilder();
+ }
+ /**
+ * <pre>
+ * A Thresholds defines CircuitBreaker settings for a
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.cluster.CircuitBreakers.Thresholds}
+ */
+ public static final class Thresholds extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.cluster.CircuitBreakers.Thresholds)
+ ThresholdsOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Thresholds.newBuilder() to construct.
+ private Thresholds(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Thresholds() {
+ priority_ = 0;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Thresholds(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ int rawValue = input.readEnum();
+
+ priority_ = rawValue;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxConnections_ != null) {
+ subBuilder = maxConnections_.toBuilder();
+ }
+ maxConnections_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxConnections_);
+ maxConnections_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxPendingRequests_ != null) {
+ subBuilder = maxPendingRequests_.toBuilder();
+ }
+ maxPendingRequests_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxPendingRequests_);
+ maxPendingRequests_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxRequests_ != null) {
+ subBuilder = maxRequests_.toBuilder();
+ }
+ maxRequests_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxRequests_);
+ maxRequests_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxRetries_ != null) {
+ subBuilder = maxRetries_.toBuilder();
+ }
+ maxRetries_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxRetries_);
+ maxRetries_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.class, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder.class);
+ }
+
+ public static final int PRIORITY_FIELD_NUMBER = 1;
+ private int priority_;
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ public int getPriorityValue() {
+ return priority_;
+ }
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority getPriority() {
+ io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority result = io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority.valueOf(priority_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority.UNRECOGNIZED : result;
+ }
+
+ public static final int MAX_CONNECTIONS_FIELD_NUMBER = 2;
+ private com.google.protobuf.UInt32Value maxConnections_;
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public boolean hasMaxConnections() {
+ return maxConnections_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxConnections() {
+ return maxConnections_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxConnections_;
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxConnectionsOrBuilder() {
+ return getMaxConnections();
+ }
+
+ public static final int MAX_PENDING_REQUESTS_FIELD_NUMBER = 3;
+ private com.google.protobuf.UInt32Value maxPendingRequests_;
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public boolean hasMaxPendingRequests() {
+ return maxPendingRequests_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxPendingRequests() {
+ return maxPendingRequests_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxPendingRequests_;
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxPendingRequestsOrBuilder() {
+ return getMaxPendingRequests();
+ }
+
+ public static final int MAX_REQUESTS_FIELD_NUMBER = 4;
+ private com.google.protobuf.UInt32Value maxRequests_;
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public boolean hasMaxRequests() {
+ return maxRequests_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxRequests() {
+ return maxRequests_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxRequests_;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsOrBuilder() {
+ return getMaxRequests();
+ }
+
+ public static final int MAX_RETRIES_FIELD_NUMBER = 5;
+ private com.google.protobuf.UInt32Value maxRetries_;
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public boolean hasMaxRetries() {
+ return maxRetries_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxRetries() {
+ return maxRetries_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxRetries_;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxRetriesOrBuilder() {
+ return getMaxRetries();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (priority_ != io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority.DEFAULT.getNumber()) {
+ output.writeEnum(1, priority_);
+ }
+ if (maxConnections_ != null) {
+ output.writeMessage(2, getMaxConnections());
+ }
+ if (maxPendingRequests_ != null) {
+ output.writeMessage(3, getMaxPendingRequests());
+ }
+ if (maxRequests_ != null) {
+ output.writeMessage(4, getMaxRequests());
+ }
+ if (maxRetries_ != null) {
+ output.writeMessage(5, getMaxRetries());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (priority_ != io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority.DEFAULT.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(1, priority_);
+ }
+ if (maxConnections_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getMaxConnections());
+ }
+ if (maxPendingRequests_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getMaxPendingRequests());
+ }
+ if (maxRequests_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getMaxRequests());
+ }
+ if (maxRetries_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getMaxRetries());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds other = (io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds) obj;
+
+ boolean result = true;
+ result = result && priority_ == other.priority_;
+ result = result && (hasMaxConnections() == other.hasMaxConnections());
+ if (hasMaxConnections()) {
+ result = result && getMaxConnections()
+ .equals(other.getMaxConnections());
+ }
+ result = result && (hasMaxPendingRequests() == other.hasMaxPendingRequests());
+ if (hasMaxPendingRequests()) {
+ result = result && getMaxPendingRequests()
+ .equals(other.getMaxPendingRequests());
+ }
+ result = result && (hasMaxRequests() == other.hasMaxRequests());
+ if (hasMaxRequests()) {
+ result = result && getMaxRequests()
+ .equals(other.getMaxRequests());
+ }
+ result = result && (hasMaxRetries() == other.hasMaxRetries());
+ if (hasMaxRetries()) {
+ result = result && getMaxRetries()
+ .equals(other.getMaxRetries());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + PRIORITY_FIELD_NUMBER;
+ hash = (53 * hash) + priority_;
+ if (hasMaxConnections()) {
+ hash = (37 * hash) + MAX_CONNECTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxConnections().hashCode();
+ }
+ if (hasMaxPendingRequests()) {
+ hash = (37 * hash) + MAX_PENDING_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxPendingRequests().hashCode();
+ }
+ if (hasMaxRequests()) {
+ hash = (37 * hash) + MAX_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxRequests().hashCode();
+ }
+ if (hasMaxRetries()) {
+ hash = (37 * hash) + MAX_RETRIES_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxRetries().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * A Thresholds defines CircuitBreaker settings for a
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.cluster.CircuitBreakers.Thresholds}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.cluster.CircuitBreakers.Thresholds)
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.class, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ priority_ = 0;
+
+ if (maxConnectionsBuilder_ == null) {
+ maxConnections_ = null;
+ } else {
+ maxConnections_ = null;
+ maxConnectionsBuilder_ = null;
+ }
+ if (maxPendingRequestsBuilder_ == null) {
+ maxPendingRequests_ = null;
+ } else {
+ maxPendingRequests_ = null;
+ maxPendingRequestsBuilder_ = null;
+ }
+ if (maxRequestsBuilder_ == null) {
+ maxRequests_ = null;
+ } else {
+ maxRequests_ = null;
+ maxRequestsBuilder_ = null;
+ }
+ if (maxRetriesBuilder_ == null) {
+ maxRetries_ = null;
+ } else {
+ maxRetries_ = null;
+ maxRetriesBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_Thresholds_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds build() {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds result = new io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds(this);
+ result.priority_ = priority_;
+ if (maxConnectionsBuilder_ == null) {
+ result.maxConnections_ = maxConnections_;
+ } else {
+ result.maxConnections_ = maxConnectionsBuilder_.build();
+ }
+ if (maxPendingRequestsBuilder_ == null) {
+ result.maxPendingRequests_ = maxPendingRequests_;
+ } else {
+ result.maxPendingRequests_ = maxPendingRequestsBuilder_.build();
+ }
+ if (maxRequestsBuilder_ == null) {
+ result.maxRequests_ = maxRequests_;
+ } else {
+ result.maxRequests_ = maxRequestsBuilder_.build();
+ }
+ if (maxRetriesBuilder_ == null) {
+ result.maxRetries_ = maxRetries_;
+ } else {
+ result.maxRetries_ = maxRetriesBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.getDefaultInstance()) return this;
+ if (other.priority_ != 0) {
+ setPriorityValue(other.getPriorityValue());
+ }
+ if (other.hasMaxConnections()) {
+ mergeMaxConnections(other.getMaxConnections());
+ }
+ if (other.hasMaxPendingRequests()) {
+ mergeMaxPendingRequests(other.getMaxPendingRequests());
+ }
+ if (other.hasMaxRequests()) {
+ mergeMaxRequests(other.getMaxRequests());
+ }
+ if (other.hasMaxRetries()) {
+ mergeMaxRetries(other.getMaxRetries());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private int priority_ = 0;
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ public int getPriorityValue() {
+ return priority_;
+ }
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ public Builder setPriorityValue(int value) {
+ priority_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority getPriority() {
+ io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority result = io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority.valueOf(priority_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ public Builder setPriority(io.grpc.xds.shaded.envoy.api.v2.core.RoutingPriority value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ priority_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`
+ * the specified CircuitBreaker settings apply to.
+ * [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ * https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RoutingPriority priority = 1;</code>
+ */
+ public Builder clearPriority() {
+
+ priority_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value maxConnections_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxConnectionsBuilder_;
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public boolean hasMaxConnections() {
+ return maxConnectionsBuilder_ != null || maxConnections_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxConnections() {
+ if (maxConnectionsBuilder_ == null) {
+ return maxConnections_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxConnections_;
+ } else {
+ return maxConnectionsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public Builder setMaxConnections(com.google.protobuf.UInt32Value value) {
+ if (maxConnectionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxConnections_ = value;
+ onChanged();
+ } else {
+ maxConnectionsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public Builder setMaxConnections(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxConnectionsBuilder_ == null) {
+ maxConnections_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxConnectionsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public Builder mergeMaxConnections(com.google.protobuf.UInt32Value value) {
+ if (maxConnectionsBuilder_ == null) {
+ if (maxConnections_ != null) {
+ maxConnections_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxConnections_).mergeFrom(value).buildPartial();
+ } else {
+ maxConnections_ = value;
+ }
+ onChanged();
+ } else {
+ maxConnectionsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public Builder clearMaxConnections() {
+ if (maxConnectionsBuilder_ == null) {
+ maxConnections_ = null;
+ onChanged();
+ } else {
+ maxConnections_ = null;
+ maxConnectionsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxConnectionsBuilder() {
+
+ onChanged();
+ return getMaxConnectionsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxConnectionsOrBuilder() {
+ if (maxConnectionsBuilder_ != null) {
+ return maxConnectionsBuilder_.getMessageOrBuilder();
+ } else {
+ return maxConnections_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxConnections_;
+ }
+ }
+ /**
+ * <pre>
+ * The maximum number of connections that Envoy will make to the upstream
+ * cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_connections = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxConnectionsFieldBuilder() {
+ if (maxConnectionsBuilder_ == null) {
+ maxConnectionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxConnections(),
+ getParentForChildren(),
+ isClean());
+ maxConnections_ = null;
+ }
+ return maxConnectionsBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value maxPendingRequests_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxPendingRequestsBuilder_;
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public boolean hasMaxPendingRequests() {
+ return maxPendingRequestsBuilder_ != null || maxPendingRequests_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxPendingRequests() {
+ if (maxPendingRequestsBuilder_ == null) {
+ return maxPendingRequests_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxPendingRequests_;
+ } else {
+ return maxPendingRequestsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public Builder setMaxPendingRequests(com.google.protobuf.UInt32Value value) {
+ if (maxPendingRequestsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxPendingRequests_ = value;
+ onChanged();
+ } else {
+ maxPendingRequestsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public Builder setMaxPendingRequests(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxPendingRequestsBuilder_ == null) {
+ maxPendingRequests_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxPendingRequestsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public Builder mergeMaxPendingRequests(com.google.protobuf.UInt32Value value) {
+ if (maxPendingRequestsBuilder_ == null) {
+ if (maxPendingRequests_ != null) {
+ maxPendingRequests_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxPendingRequests_).mergeFrom(value).buildPartial();
+ } else {
+ maxPendingRequests_ = value;
+ }
+ onChanged();
+ } else {
+ maxPendingRequestsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public Builder clearMaxPendingRequests() {
+ if (maxPendingRequestsBuilder_ == null) {
+ maxPendingRequests_ = null;
+ onChanged();
+ } else {
+ maxPendingRequests_ = null;
+ maxPendingRequestsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxPendingRequestsBuilder() {
+
+ onChanged();
+ return getMaxPendingRequestsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxPendingRequestsOrBuilder() {
+ if (maxPendingRequestsBuilder_ != null) {
+ return maxPendingRequestsBuilder_.getMessageOrBuilder();
+ } else {
+ return maxPendingRequests_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxPendingRequests_;
+ }
+ }
+ /**
+ * <pre>
+ * The maximum number of pending requests that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_pending_requests = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxPendingRequestsFieldBuilder() {
+ if (maxPendingRequestsBuilder_ == null) {
+ maxPendingRequestsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxPendingRequests(),
+ getParentForChildren(),
+ isClean());
+ maxPendingRequests_ = null;
+ }
+ return maxPendingRequestsBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value maxRequests_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxRequestsBuilder_;
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public boolean hasMaxRequests() {
+ return maxRequestsBuilder_ != null || maxRequests_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxRequests() {
+ if (maxRequestsBuilder_ == null) {
+ return maxRequests_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxRequests_;
+ } else {
+ return maxRequestsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public Builder setMaxRequests(com.google.protobuf.UInt32Value value) {
+ if (maxRequestsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxRequests_ = value;
+ onChanged();
+ } else {
+ maxRequestsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public Builder setMaxRequests(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxRequestsBuilder_ == null) {
+ maxRequests_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxRequestsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public Builder mergeMaxRequests(com.google.protobuf.UInt32Value value) {
+ if (maxRequestsBuilder_ == null) {
+ if (maxRequests_ != null) {
+ maxRequests_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxRequests_).mergeFrom(value).buildPartial();
+ } else {
+ maxRequests_ = value;
+ }
+ onChanged();
+ } else {
+ maxRequestsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public Builder clearMaxRequests() {
+ if (maxRequestsBuilder_ == null) {
+ maxRequests_ = null;
+ onChanged();
+ } else {
+ maxRequests_ = null;
+ maxRequestsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxRequestsBuilder() {
+
+ onChanged();
+ return getMaxRequestsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxRequestsOrBuilder() {
+ if (maxRequestsBuilder_ != null) {
+ return maxRequestsBuilder_.getMessageOrBuilder();
+ } else {
+ return maxRequests_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxRequests_;
+ }
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel requests that Envoy will make to the
+ * upstream cluster. If not specified, the default is 1024.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_requests = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxRequestsFieldBuilder() {
+ if (maxRequestsBuilder_ == null) {
+ maxRequestsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxRequests(),
+ getParentForChildren(),
+ isClean());
+ maxRequests_ = null;
+ }
+ return maxRequestsBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value maxRetries_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxRetriesBuilder_;
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public boolean hasMaxRetries() {
+ return maxRetriesBuilder_ != null || maxRetries_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxRetries() {
+ if (maxRetriesBuilder_ == null) {
+ return maxRetries_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxRetries_;
+ } else {
+ return maxRetriesBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public Builder setMaxRetries(com.google.protobuf.UInt32Value value) {
+ if (maxRetriesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxRetries_ = value;
+ onChanged();
+ } else {
+ maxRetriesBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public Builder setMaxRetries(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxRetriesBuilder_ == null) {
+ maxRetries_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxRetriesBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public Builder mergeMaxRetries(com.google.protobuf.UInt32Value value) {
+ if (maxRetriesBuilder_ == null) {
+ if (maxRetries_ != null) {
+ maxRetries_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxRetries_).mergeFrom(value).buildPartial();
+ } else {
+ maxRetries_ = value;
+ }
+ onChanged();
+ } else {
+ maxRetriesBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public Builder clearMaxRetries() {
+ if (maxRetriesBuilder_ == null) {
+ maxRetries_ = null;
+ onChanged();
+ } else {
+ maxRetries_ = null;
+ maxRetriesBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxRetriesBuilder() {
+
+ onChanged();
+ return getMaxRetriesFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxRetriesOrBuilder() {
+ if (maxRetriesBuilder_ != null) {
+ return maxRetriesBuilder_.getMessageOrBuilder();
+ } else {
+ return maxRetries_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxRetries_;
+ }
+ }
+ /**
+ * <pre>
+ * The maximum number of parallel retries that Envoy will allow to the
+ * upstream cluster. If not specified, the default is 3.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_retries = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxRetriesFieldBuilder() {
+ if (maxRetriesBuilder_ == null) {
+ maxRetriesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxRetries(),
+ getParentForChildren(),
+ isClean());
+ maxRetries_ = null;
+ }
+ return maxRetriesBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.cluster.CircuitBreakers.Thresholds)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.cluster.CircuitBreakers.Thresholds)
+ private static final io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Thresholds>
+ PARSER = new com.google.protobuf.AbstractParser<Thresholds>() {
+ public Thresholds parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Thresholds(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Thresholds> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Thresholds> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public static final int THRESHOLDS_FIELD_NUMBER = 1;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds> thresholds_;
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds> getThresholdsList() {
+ return thresholds_;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder>
+ getThresholdsOrBuilderList() {
+ return thresholds_;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public int getThresholdsCount() {
+ return thresholds_.size();
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds getThresholds(int index) {
+ return thresholds_.get(index);
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder getThresholdsOrBuilder(
+ int index) {
+ return thresholds_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ for (int i = 0; i < thresholds_.size(); i++) {
+ output.writeMessage(1, thresholds_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ for (int i = 0; i < thresholds_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, thresholds_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers other = (io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers) obj;
+
+ boolean result = true;
+ result = result && getThresholdsList()
+ .equals(other.getThresholdsList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (getThresholdsCount() > 0) {
+ hash = (37 * hash) + THRESHOLDS_FIELD_NUMBER;
+ hash = (53 * hash) + getThresholdsList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * :ref:`Circuit breaking&lt;arch_overview_circuit_break&gt;` settings can be
+ * specified individually for each defined priority.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.cluster.CircuitBreakers}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.cluster.CircuitBreakers)
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakersOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.class, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getThresholdsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (thresholdsBuilder_ == null) {
+ thresholds_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ thresholdsBuilder_.clear();
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreaker.internal_static_envoy_api_v2_cluster_CircuitBreakers_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers build() {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers result = new io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers(this);
+ int from_bitField0_ = bitField0_;
+ if (thresholdsBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ thresholds_ = java.util.Collections.unmodifiableList(thresholds_);
+ bitField0_ = (bitField0_ & ~0x00000001);
+ }
+ result.thresholds_ = thresholds_;
+ } else {
+ result.thresholds_ = thresholdsBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.getDefaultInstance()) return this;
+ if (thresholdsBuilder_ == null) {
+ if (!other.thresholds_.isEmpty()) {
+ if (thresholds_.isEmpty()) {
+ thresholds_ = other.thresholds_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ } else {
+ ensureThresholdsIsMutable();
+ thresholds_.addAll(other.thresholds_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.thresholds_.isEmpty()) {
+ if (thresholdsBuilder_.isEmpty()) {
+ thresholdsBuilder_.dispose();
+ thresholdsBuilder_ = null;
+ thresholds_ = other.thresholds_;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ thresholdsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getThresholdsFieldBuilder() : null;
+ } else {
+ thresholdsBuilder_.addAllMessages(other.thresholds_);
+ }
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds> thresholds_ =
+ java.util.Collections.emptyList();
+ private void ensureThresholdsIsMutable() {
+ if (!((bitField0_ & 0x00000001) == 0x00000001)) {
+ thresholds_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds>(thresholds_);
+ bitField0_ |= 0x00000001;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder> thresholdsBuilder_;
+
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds> getThresholdsList() {
+ if (thresholdsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(thresholds_);
+ } else {
+ return thresholdsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public int getThresholdsCount() {
+ if (thresholdsBuilder_ == null) {
+ return thresholds_.size();
+ } else {
+ return thresholdsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds getThresholds(int index) {
+ if (thresholdsBuilder_ == null) {
+ return thresholds_.get(index);
+ } else {
+ return thresholdsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder setThresholds(
+ int index, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds value) {
+ if (thresholdsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureThresholdsIsMutable();
+ thresholds_.set(index, value);
+ onChanged();
+ } else {
+ thresholdsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder setThresholds(
+ int index, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder builderForValue) {
+ if (thresholdsBuilder_ == null) {
+ ensureThresholdsIsMutable();
+ thresholds_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ thresholdsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder addThresholds(io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds value) {
+ if (thresholdsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureThresholdsIsMutable();
+ thresholds_.add(value);
+ onChanged();
+ } else {
+ thresholdsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder addThresholds(
+ int index, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds value) {
+ if (thresholdsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureThresholdsIsMutable();
+ thresholds_.add(index, value);
+ onChanged();
+ } else {
+ thresholdsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder addThresholds(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder builderForValue) {
+ if (thresholdsBuilder_ == null) {
+ ensureThresholdsIsMutable();
+ thresholds_.add(builderForValue.build());
+ onChanged();
+ } else {
+ thresholdsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder addThresholds(
+ int index, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder builderForValue) {
+ if (thresholdsBuilder_ == null) {
+ ensureThresholdsIsMutable();
+ thresholds_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ thresholdsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder addAllThresholds(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds> values) {
+ if (thresholdsBuilder_ == null) {
+ ensureThresholdsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, thresholds_);
+ onChanged();
+ } else {
+ thresholdsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder clearThresholds() {
+ if (thresholdsBuilder_ == null) {
+ thresholds_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ } else {
+ thresholdsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public Builder removeThresholds(int index) {
+ if (thresholdsBuilder_ == null) {
+ ensureThresholdsIsMutable();
+ thresholds_.remove(index);
+ onChanged();
+ } else {
+ thresholdsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder getThresholdsBuilder(
+ int index) {
+ return getThresholdsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder getThresholdsOrBuilder(
+ int index) {
+ if (thresholdsBuilder_ == null) {
+ return thresholds_.get(index); } else {
+ return thresholdsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder>
+ getThresholdsOrBuilderList() {
+ if (thresholdsBuilder_ != null) {
+ return thresholdsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(thresholds_);
+ }
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder addThresholdsBuilder() {
+ return getThresholdsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder addThresholdsBuilder(
+ int index) {
+ return getThresholdsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder>
+ getThresholdsBuilderList() {
+ return getThresholdsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder>
+ getThresholdsFieldBuilder() {
+ if (thresholdsBuilder_ == null) {
+ thresholdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds.Builder, io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder>(
+ thresholds_,
+ ((bitField0_ & 0x00000001) == 0x00000001),
+ getParentForChildren(),
+ isClean());
+ thresholds_ = null;
+ }
+ return thresholdsBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.cluster.CircuitBreakers)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.cluster.CircuitBreakers)
+ private static final io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CircuitBreakers>
+ PARSER = new com.google.protobuf.AbstractParser<CircuitBreakers>() {
+ public CircuitBreakers parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CircuitBreakers(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CircuitBreakers> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CircuitBreakers> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreakersOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreakersOrBuilder.java
new file mode 100644
index 000000000..13fc2d50e
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/CircuitBreakersOrBuilder.java
@@ -0,0 +1,73 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cluster/circuit_breaker.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.cluster;
+
+public interface CircuitBreakersOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.cluster.CircuitBreakers)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds>
+ getThresholdsList();
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.Thresholds getThresholds(int index);
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ int getThresholdsCount();
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder>
+ getThresholdsOrBuilderList();
+ /**
+ * <pre>
+ * If multiple :ref:`Thresholds&lt;envoy_api_msg_cluster.CircuitBreakers.Thresholds&gt;`
+ * are defined with the same :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`,
+ * the first one in the list is used. If no Thresholds is defined for a given
+ * :ref:`RoutingPriority&lt;envoy_api_enum_core.RoutingPriority&gt;`, the default values
+ * are used.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.cluster.CircuitBreakers.Thresholds thresholds = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.cluster.CircuitBreakers.ThresholdsOrBuilder getThresholdsOrBuilder(
+ int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetection.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetection.java
new file mode 100644
index 000000000..eb7790456
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetection.java
@@ -0,0 +1,3242 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cluster/outlier_detection.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.cluster;
+
+/**
+ * <pre>
+ * See the :ref:`architecture overview &lt;arch_overview_outlier_detection&gt;` for
+ * more information on outlier detection.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.cluster.OutlierDetection}
+ */
+public final class OutlierDetection extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.cluster.OutlierDetection)
+ OutlierDetectionOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use OutlierDetection.newBuilder() to construct.
+ private OutlierDetection(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private OutlierDetection() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private OutlierDetection(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (consecutive5Xx_ != null) {
+ subBuilder = consecutive5Xx_.toBuilder();
+ }
+ consecutive5Xx_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(consecutive5Xx_);
+ consecutive5Xx_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (interval_ != null) {
+ subBuilder = interval_.toBuilder();
+ }
+ interval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(interval_);
+ interval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (baseEjectionTime_ != null) {
+ subBuilder = baseEjectionTime_.toBuilder();
+ }
+ baseEjectionTime_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(baseEjectionTime_);
+ baseEjectionTime_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxEjectionPercent_ != null) {
+ subBuilder = maxEjectionPercent_.toBuilder();
+ }
+ maxEjectionPercent_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxEjectionPercent_);
+ maxEjectionPercent_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (enforcingConsecutive5Xx_ != null) {
+ subBuilder = enforcingConsecutive5Xx_.toBuilder();
+ }
+ enforcingConsecutive5Xx_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(enforcingConsecutive5Xx_);
+ enforcingConsecutive5Xx_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 50: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (enforcingSuccessRate_ != null) {
+ subBuilder = enforcingSuccessRate_.toBuilder();
+ }
+ enforcingSuccessRate_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(enforcingSuccessRate_);
+ enforcingSuccessRate_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 58: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (successRateMinimumHosts_ != null) {
+ subBuilder = successRateMinimumHosts_.toBuilder();
+ }
+ successRateMinimumHosts_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(successRateMinimumHosts_);
+ successRateMinimumHosts_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 66: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (successRateRequestVolume_ != null) {
+ subBuilder = successRateRequestVolume_.toBuilder();
+ }
+ successRateRequestVolume_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(successRateRequestVolume_);
+ successRateRequestVolume_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 74: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (successRateStdevFactor_ != null) {
+ subBuilder = successRateStdevFactor_.toBuilder();
+ }
+ successRateStdevFactor_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(successRateStdevFactor_);
+ successRateStdevFactor_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 82: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (consecutiveGatewayFailure_ != null) {
+ subBuilder = consecutiveGatewayFailure_.toBuilder();
+ }
+ consecutiveGatewayFailure_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(consecutiveGatewayFailure_);
+ consecutiveGatewayFailure_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 90: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (enforcingConsecutiveGatewayFailure_ != null) {
+ subBuilder = enforcingConsecutiveGatewayFailure_.toBuilder();
+ }
+ enforcingConsecutiveGatewayFailure_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(enforcingConsecutiveGatewayFailure_);
+ enforcingConsecutiveGatewayFailure_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOuterClass.internal_static_envoy_api_v2_cluster_OutlierDetection_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOuterClass.internal_static_envoy_api_v2_cluster_OutlierDetection_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.class, io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.Builder.class);
+ }
+
+ public static final int CONSECUTIVE_5XX_FIELD_NUMBER = 1;
+ private com.google.protobuf.UInt32Value consecutive5Xx_;
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public boolean hasConsecutive5Xx() {
+ return consecutive5Xx_ != null;
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value getConsecutive5Xx() {
+ return consecutive5Xx_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : consecutive5Xx_;
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getConsecutive5XxOrBuilder() {
+ return getConsecutive5Xx();
+ }
+
+ public static final int INTERVAL_FIELD_NUMBER = 2;
+ private com.google.protobuf.Duration interval_;
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasInterval() {
+ return interval_ != null;
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getInterval() {
+ return interval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : interval_;
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getIntervalOrBuilder() {
+ return getInterval();
+ }
+
+ public static final int BASE_EJECTION_TIME_FIELD_NUMBER = 3;
+ private com.google.protobuf.Duration baseEjectionTime_;
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasBaseEjectionTime() {
+ return baseEjectionTime_ != null;
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getBaseEjectionTime() {
+ return baseEjectionTime_ == null ? com.google.protobuf.Duration.getDefaultInstance() : baseEjectionTime_;
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getBaseEjectionTimeOrBuilder() {
+ return getBaseEjectionTime();
+ }
+
+ public static final int MAX_EJECTION_PERCENT_FIELD_NUMBER = 4;
+ private com.google.protobuf.UInt32Value maxEjectionPercent_;
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasMaxEjectionPercent() {
+ return maxEjectionPercent_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxEjectionPercent() {
+ return maxEjectionPercent_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxEjectionPercent_;
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxEjectionPercentOrBuilder() {
+ return getMaxEjectionPercent();
+ }
+
+ public static final int ENFORCING_CONSECUTIVE_5XX_FIELD_NUMBER = 5;
+ private com.google.protobuf.UInt32Value enforcingConsecutive5Xx_;
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasEnforcingConsecutive5Xx() {
+ return enforcingConsecutive5Xx_ != null;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getEnforcingConsecutive5Xx() {
+ return enforcingConsecutive5Xx_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingConsecutive5Xx_;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getEnforcingConsecutive5XxOrBuilder() {
+ return getEnforcingConsecutive5Xx();
+ }
+
+ public static final int ENFORCING_SUCCESS_RATE_FIELD_NUMBER = 6;
+ private com.google.protobuf.UInt32Value enforcingSuccessRate_;
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasEnforcingSuccessRate() {
+ return enforcingSuccessRate_ != null;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getEnforcingSuccessRate() {
+ return enforcingSuccessRate_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingSuccessRate_;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getEnforcingSuccessRateOrBuilder() {
+ return getEnforcingSuccessRate();
+ }
+
+ public static final int SUCCESS_RATE_MINIMUM_HOSTS_FIELD_NUMBER = 7;
+ private com.google.protobuf.UInt32Value successRateMinimumHosts_;
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public boolean hasSuccessRateMinimumHosts() {
+ return successRateMinimumHosts_ != null;
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public com.google.protobuf.UInt32Value getSuccessRateMinimumHosts() {
+ return successRateMinimumHosts_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : successRateMinimumHosts_;
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getSuccessRateMinimumHostsOrBuilder() {
+ return getSuccessRateMinimumHosts();
+ }
+
+ public static final int SUCCESS_RATE_REQUEST_VOLUME_FIELD_NUMBER = 8;
+ private com.google.protobuf.UInt32Value successRateRequestVolume_;
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public boolean hasSuccessRateRequestVolume() {
+ return successRateRequestVolume_ != null;
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public com.google.protobuf.UInt32Value getSuccessRateRequestVolume() {
+ return successRateRequestVolume_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : successRateRequestVolume_;
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getSuccessRateRequestVolumeOrBuilder() {
+ return getSuccessRateRequestVolume();
+ }
+
+ public static final int SUCCESS_RATE_STDEV_FACTOR_FIELD_NUMBER = 9;
+ private com.google.protobuf.UInt32Value successRateStdevFactor_;
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public boolean hasSuccessRateStdevFactor() {
+ return successRateStdevFactor_ != null;
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public com.google.protobuf.UInt32Value getSuccessRateStdevFactor() {
+ return successRateStdevFactor_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : successRateStdevFactor_;
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getSuccessRateStdevFactorOrBuilder() {
+ return getSuccessRateStdevFactor();
+ }
+
+ public static final int CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER = 10;
+ private com.google.protobuf.UInt32Value consecutiveGatewayFailure_;
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public boolean hasConsecutiveGatewayFailure() {
+ return consecutiveGatewayFailure_ != null;
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public com.google.protobuf.UInt32Value getConsecutiveGatewayFailure() {
+ return consecutiveGatewayFailure_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : consecutiveGatewayFailure_;
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getConsecutiveGatewayFailureOrBuilder() {
+ return getConsecutiveGatewayFailure();
+ }
+
+ public static final int ENFORCING_CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER = 11;
+ private com.google.protobuf.UInt32Value enforcingConsecutiveGatewayFailure_;
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasEnforcingConsecutiveGatewayFailure() {
+ return enforcingConsecutiveGatewayFailure_ != null;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getEnforcingConsecutiveGatewayFailure() {
+ return enforcingConsecutiveGatewayFailure_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingConsecutiveGatewayFailure_;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getEnforcingConsecutiveGatewayFailureOrBuilder() {
+ return getEnforcingConsecutiveGatewayFailure();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (consecutive5Xx_ != null) {
+ output.writeMessage(1, getConsecutive5Xx());
+ }
+ if (interval_ != null) {
+ output.writeMessage(2, getInterval());
+ }
+ if (baseEjectionTime_ != null) {
+ output.writeMessage(3, getBaseEjectionTime());
+ }
+ if (maxEjectionPercent_ != null) {
+ output.writeMessage(4, getMaxEjectionPercent());
+ }
+ if (enforcingConsecutive5Xx_ != null) {
+ output.writeMessage(5, getEnforcingConsecutive5Xx());
+ }
+ if (enforcingSuccessRate_ != null) {
+ output.writeMessage(6, getEnforcingSuccessRate());
+ }
+ if (successRateMinimumHosts_ != null) {
+ output.writeMessage(7, getSuccessRateMinimumHosts());
+ }
+ if (successRateRequestVolume_ != null) {
+ output.writeMessage(8, getSuccessRateRequestVolume());
+ }
+ if (successRateStdevFactor_ != null) {
+ output.writeMessage(9, getSuccessRateStdevFactor());
+ }
+ if (consecutiveGatewayFailure_ != null) {
+ output.writeMessage(10, getConsecutiveGatewayFailure());
+ }
+ if (enforcingConsecutiveGatewayFailure_ != null) {
+ output.writeMessage(11, getEnforcingConsecutiveGatewayFailure());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (consecutive5Xx_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getConsecutive5Xx());
+ }
+ if (interval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getInterval());
+ }
+ if (baseEjectionTime_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getBaseEjectionTime());
+ }
+ if (maxEjectionPercent_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getMaxEjectionPercent());
+ }
+ if (enforcingConsecutive5Xx_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getEnforcingConsecutive5Xx());
+ }
+ if (enforcingSuccessRate_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getEnforcingSuccessRate());
+ }
+ if (successRateMinimumHosts_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, getSuccessRateMinimumHosts());
+ }
+ if (successRateRequestVolume_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(8, getSuccessRateRequestVolume());
+ }
+ if (successRateStdevFactor_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(9, getSuccessRateStdevFactor());
+ }
+ if (consecutiveGatewayFailure_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(10, getConsecutiveGatewayFailure());
+ }
+ if (enforcingConsecutiveGatewayFailure_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(11, getEnforcingConsecutiveGatewayFailure());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection other = (io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection) obj;
+
+ boolean result = true;
+ result = result && (hasConsecutive5Xx() == other.hasConsecutive5Xx());
+ if (hasConsecutive5Xx()) {
+ result = result && getConsecutive5Xx()
+ .equals(other.getConsecutive5Xx());
+ }
+ result = result && (hasInterval() == other.hasInterval());
+ if (hasInterval()) {
+ result = result && getInterval()
+ .equals(other.getInterval());
+ }
+ result = result && (hasBaseEjectionTime() == other.hasBaseEjectionTime());
+ if (hasBaseEjectionTime()) {
+ result = result && getBaseEjectionTime()
+ .equals(other.getBaseEjectionTime());
+ }
+ result = result && (hasMaxEjectionPercent() == other.hasMaxEjectionPercent());
+ if (hasMaxEjectionPercent()) {
+ result = result && getMaxEjectionPercent()
+ .equals(other.getMaxEjectionPercent());
+ }
+ result = result && (hasEnforcingConsecutive5Xx() == other.hasEnforcingConsecutive5Xx());
+ if (hasEnforcingConsecutive5Xx()) {
+ result = result && getEnforcingConsecutive5Xx()
+ .equals(other.getEnforcingConsecutive5Xx());
+ }
+ result = result && (hasEnforcingSuccessRate() == other.hasEnforcingSuccessRate());
+ if (hasEnforcingSuccessRate()) {
+ result = result && getEnforcingSuccessRate()
+ .equals(other.getEnforcingSuccessRate());
+ }
+ result = result && (hasSuccessRateMinimumHosts() == other.hasSuccessRateMinimumHosts());
+ if (hasSuccessRateMinimumHosts()) {
+ result = result && getSuccessRateMinimumHosts()
+ .equals(other.getSuccessRateMinimumHosts());
+ }
+ result = result && (hasSuccessRateRequestVolume() == other.hasSuccessRateRequestVolume());
+ if (hasSuccessRateRequestVolume()) {
+ result = result && getSuccessRateRequestVolume()
+ .equals(other.getSuccessRateRequestVolume());
+ }
+ result = result && (hasSuccessRateStdevFactor() == other.hasSuccessRateStdevFactor());
+ if (hasSuccessRateStdevFactor()) {
+ result = result && getSuccessRateStdevFactor()
+ .equals(other.getSuccessRateStdevFactor());
+ }
+ result = result && (hasConsecutiveGatewayFailure() == other.hasConsecutiveGatewayFailure());
+ if (hasConsecutiveGatewayFailure()) {
+ result = result && getConsecutiveGatewayFailure()
+ .equals(other.getConsecutiveGatewayFailure());
+ }
+ result = result && (hasEnforcingConsecutiveGatewayFailure() == other.hasEnforcingConsecutiveGatewayFailure());
+ if (hasEnforcingConsecutiveGatewayFailure()) {
+ result = result && getEnforcingConsecutiveGatewayFailure()
+ .equals(other.getEnforcingConsecutiveGatewayFailure());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConsecutive5Xx()) {
+ hash = (37 * hash) + CONSECUTIVE_5XX_FIELD_NUMBER;
+ hash = (53 * hash) + getConsecutive5Xx().hashCode();
+ }
+ if (hasInterval()) {
+ hash = (37 * hash) + INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getInterval().hashCode();
+ }
+ if (hasBaseEjectionTime()) {
+ hash = (37 * hash) + BASE_EJECTION_TIME_FIELD_NUMBER;
+ hash = (53 * hash) + getBaseEjectionTime().hashCode();
+ }
+ if (hasMaxEjectionPercent()) {
+ hash = (37 * hash) + MAX_EJECTION_PERCENT_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxEjectionPercent().hashCode();
+ }
+ if (hasEnforcingConsecutive5Xx()) {
+ hash = (37 * hash) + ENFORCING_CONSECUTIVE_5XX_FIELD_NUMBER;
+ hash = (53 * hash) + getEnforcingConsecutive5Xx().hashCode();
+ }
+ if (hasEnforcingSuccessRate()) {
+ hash = (37 * hash) + ENFORCING_SUCCESS_RATE_FIELD_NUMBER;
+ hash = (53 * hash) + getEnforcingSuccessRate().hashCode();
+ }
+ if (hasSuccessRateMinimumHosts()) {
+ hash = (37 * hash) + SUCCESS_RATE_MINIMUM_HOSTS_FIELD_NUMBER;
+ hash = (53 * hash) + getSuccessRateMinimumHosts().hashCode();
+ }
+ if (hasSuccessRateRequestVolume()) {
+ hash = (37 * hash) + SUCCESS_RATE_REQUEST_VOLUME_FIELD_NUMBER;
+ hash = (53 * hash) + getSuccessRateRequestVolume().hashCode();
+ }
+ if (hasSuccessRateStdevFactor()) {
+ hash = (37 * hash) + SUCCESS_RATE_STDEV_FACTOR_FIELD_NUMBER;
+ hash = (53 * hash) + getSuccessRateStdevFactor().hashCode();
+ }
+ if (hasConsecutiveGatewayFailure()) {
+ hash = (37 * hash) + CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER;
+ hash = (53 * hash) + getConsecutiveGatewayFailure().hashCode();
+ }
+ if (hasEnforcingConsecutiveGatewayFailure()) {
+ hash = (37 * hash) + ENFORCING_CONSECUTIVE_GATEWAY_FAILURE_FIELD_NUMBER;
+ hash = (53 * hash) + getEnforcingConsecutiveGatewayFailure().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * See the :ref:`architecture overview &lt;arch_overview_outlier_detection&gt;` for
+ * more information on outlier detection.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.cluster.OutlierDetection}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.cluster.OutlierDetection)
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOuterClass.internal_static_envoy_api_v2_cluster_OutlierDetection_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOuterClass.internal_static_envoy_api_v2_cluster_OutlierDetection_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.class, io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (consecutive5XxBuilder_ == null) {
+ consecutive5Xx_ = null;
+ } else {
+ consecutive5Xx_ = null;
+ consecutive5XxBuilder_ = null;
+ }
+ if (intervalBuilder_ == null) {
+ interval_ = null;
+ } else {
+ interval_ = null;
+ intervalBuilder_ = null;
+ }
+ if (baseEjectionTimeBuilder_ == null) {
+ baseEjectionTime_ = null;
+ } else {
+ baseEjectionTime_ = null;
+ baseEjectionTimeBuilder_ = null;
+ }
+ if (maxEjectionPercentBuilder_ == null) {
+ maxEjectionPercent_ = null;
+ } else {
+ maxEjectionPercent_ = null;
+ maxEjectionPercentBuilder_ = null;
+ }
+ if (enforcingConsecutive5XxBuilder_ == null) {
+ enforcingConsecutive5Xx_ = null;
+ } else {
+ enforcingConsecutive5Xx_ = null;
+ enforcingConsecutive5XxBuilder_ = null;
+ }
+ if (enforcingSuccessRateBuilder_ == null) {
+ enforcingSuccessRate_ = null;
+ } else {
+ enforcingSuccessRate_ = null;
+ enforcingSuccessRateBuilder_ = null;
+ }
+ if (successRateMinimumHostsBuilder_ == null) {
+ successRateMinimumHosts_ = null;
+ } else {
+ successRateMinimumHosts_ = null;
+ successRateMinimumHostsBuilder_ = null;
+ }
+ if (successRateRequestVolumeBuilder_ == null) {
+ successRateRequestVolume_ = null;
+ } else {
+ successRateRequestVolume_ = null;
+ successRateRequestVolumeBuilder_ = null;
+ }
+ if (successRateStdevFactorBuilder_ == null) {
+ successRateStdevFactor_ = null;
+ } else {
+ successRateStdevFactor_ = null;
+ successRateStdevFactorBuilder_ = null;
+ }
+ if (consecutiveGatewayFailureBuilder_ == null) {
+ consecutiveGatewayFailure_ = null;
+ } else {
+ consecutiveGatewayFailure_ = null;
+ consecutiveGatewayFailureBuilder_ = null;
+ }
+ if (enforcingConsecutiveGatewayFailureBuilder_ == null) {
+ enforcingConsecutiveGatewayFailure_ = null;
+ } else {
+ enforcingConsecutiveGatewayFailure_ = null;
+ enforcingConsecutiveGatewayFailureBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetectionOuterClass.internal_static_envoy_api_v2_cluster_OutlierDetection_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection build() {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection result = new io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection(this);
+ if (consecutive5XxBuilder_ == null) {
+ result.consecutive5Xx_ = consecutive5Xx_;
+ } else {
+ result.consecutive5Xx_ = consecutive5XxBuilder_.build();
+ }
+ if (intervalBuilder_ == null) {
+ result.interval_ = interval_;
+ } else {
+ result.interval_ = intervalBuilder_.build();
+ }
+ if (baseEjectionTimeBuilder_ == null) {
+ result.baseEjectionTime_ = baseEjectionTime_;
+ } else {
+ result.baseEjectionTime_ = baseEjectionTimeBuilder_.build();
+ }
+ if (maxEjectionPercentBuilder_ == null) {
+ result.maxEjectionPercent_ = maxEjectionPercent_;
+ } else {
+ result.maxEjectionPercent_ = maxEjectionPercentBuilder_.build();
+ }
+ if (enforcingConsecutive5XxBuilder_ == null) {
+ result.enforcingConsecutive5Xx_ = enforcingConsecutive5Xx_;
+ } else {
+ result.enforcingConsecutive5Xx_ = enforcingConsecutive5XxBuilder_.build();
+ }
+ if (enforcingSuccessRateBuilder_ == null) {
+ result.enforcingSuccessRate_ = enforcingSuccessRate_;
+ } else {
+ result.enforcingSuccessRate_ = enforcingSuccessRateBuilder_.build();
+ }
+ if (successRateMinimumHostsBuilder_ == null) {
+ result.successRateMinimumHosts_ = successRateMinimumHosts_;
+ } else {
+ result.successRateMinimumHosts_ = successRateMinimumHostsBuilder_.build();
+ }
+ if (successRateRequestVolumeBuilder_ == null) {
+ result.successRateRequestVolume_ = successRateRequestVolume_;
+ } else {
+ result.successRateRequestVolume_ = successRateRequestVolumeBuilder_.build();
+ }
+ if (successRateStdevFactorBuilder_ == null) {
+ result.successRateStdevFactor_ = successRateStdevFactor_;
+ } else {
+ result.successRateStdevFactor_ = successRateStdevFactorBuilder_.build();
+ }
+ if (consecutiveGatewayFailureBuilder_ == null) {
+ result.consecutiveGatewayFailure_ = consecutiveGatewayFailure_;
+ } else {
+ result.consecutiveGatewayFailure_ = consecutiveGatewayFailureBuilder_.build();
+ }
+ if (enforcingConsecutiveGatewayFailureBuilder_ == null) {
+ result.enforcingConsecutiveGatewayFailure_ = enforcingConsecutiveGatewayFailure_;
+ } else {
+ result.enforcingConsecutiveGatewayFailure_ = enforcingConsecutiveGatewayFailureBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection.getDefaultInstance()) return this;
+ if (other.hasConsecutive5Xx()) {
+ mergeConsecutive5Xx(other.getConsecutive5Xx());
+ }
+ if (other.hasInterval()) {
+ mergeInterval(other.getInterval());
+ }
+ if (other.hasBaseEjectionTime()) {
+ mergeBaseEjectionTime(other.getBaseEjectionTime());
+ }
+ if (other.hasMaxEjectionPercent()) {
+ mergeMaxEjectionPercent(other.getMaxEjectionPercent());
+ }
+ if (other.hasEnforcingConsecutive5Xx()) {
+ mergeEnforcingConsecutive5Xx(other.getEnforcingConsecutive5Xx());
+ }
+ if (other.hasEnforcingSuccessRate()) {
+ mergeEnforcingSuccessRate(other.getEnforcingSuccessRate());
+ }
+ if (other.hasSuccessRateMinimumHosts()) {
+ mergeSuccessRateMinimumHosts(other.getSuccessRateMinimumHosts());
+ }
+ if (other.hasSuccessRateRequestVolume()) {
+ mergeSuccessRateRequestVolume(other.getSuccessRateRequestVolume());
+ }
+ if (other.hasSuccessRateStdevFactor()) {
+ mergeSuccessRateStdevFactor(other.getSuccessRateStdevFactor());
+ }
+ if (other.hasConsecutiveGatewayFailure()) {
+ mergeConsecutiveGatewayFailure(other.getConsecutiveGatewayFailure());
+ }
+ if (other.hasEnforcingConsecutiveGatewayFailure()) {
+ mergeEnforcingConsecutiveGatewayFailure(other.getEnforcingConsecutiveGatewayFailure());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value consecutive5Xx_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> consecutive5XxBuilder_;
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public boolean hasConsecutive5Xx() {
+ return consecutive5XxBuilder_ != null || consecutive5Xx_ != null;
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value getConsecutive5Xx() {
+ if (consecutive5XxBuilder_ == null) {
+ return consecutive5Xx_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : consecutive5Xx_;
+ } else {
+ return consecutive5XxBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public Builder setConsecutive5Xx(com.google.protobuf.UInt32Value value) {
+ if (consecutive5XxBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ consecutive5Xx_ = value;
+ onChanged();
+ } else {
+ consecutive5XxBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public Builder setConsecutive5Xx(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (consecutive5XxBuilder_ == null) {
+ consecutive5Xx_ = builderForValue.build();
+ onChanged();
+ } else {
+ consecutive5XxBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public Builder mergeConsecutive5Xx(com.google.protobuf.UInt32Value value) {
+ if (consecutive5XxBuilder_ == null) {
+ if (consecutive5Xx_ != null) {
+ consecutive5Xx_ =
+ com.google.protobuf.UInt32Value.newBuilder(consecutive5Xx_).mergeFrom(value).buildPartial();
+ } else {
+ consecutive5Xx_ = value;
+ }
+ onChanged();
+ } else {
+ consecutive5XxBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public Builder clearConsecutive5Xx() {
+ if (consecutive5XxBuilder_ == null) {
+ consecutive5Xx_ = null;
+ onChanged();
+ } else {
+ consecutive5Xx_ = null;
+ consecutive5XxBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getConsecutive5XxBuilder() {
+
+ onChanged();
+ return getConsecutive5XxFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getConsecutive5XxOrBuilder() {
+ if (consecutive5XxBuilder_ != null) {
+ return consecutive5XxBuilder_.getMessageOrBuilder();
+ } else {
+ return consecutive5Xx_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : consecutive5Xx_;
+ }
+ }
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getConsecutive5XxFieldBuilder() {
+ if (consecutive5XxBuilder_ == null) {
+ consecutive5XxBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getConsecutive5Xx(),
+ getParentForChildren(),
+ isClean());
+ consecutive5Xx_ = null;
+ }
+ return consecutive5XxBuilder_;
+ }
+
+ private com.google.protobuf.Duration interval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> intervalBuilder_;
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasInterval() {
+ return intervalBuilder_ != null || interval_ != null;
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getInterval() {
+ if (intervalBuilder_ == null) {
+ return interval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : interval_;
+ } else {
+ return intervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInterval(com.google.protobuf.Duration value) {
+ if (intervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ interval_ = value;
+ onChanged();
+ } else {
+ intervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInterval(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (intervalBuilder_ == null) {
+ interval_ = builderForValue.build();
+ onChanged();
+ } else {
+ intervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeInterval(com.google.protobuf.Duration value) {
+ if (intervalBuilder_ == null) {
+ if (interval_ != null) {
+ interval_ =
+ com.google.protobuf.Duration.newBuilder(interval_).mergeFrom(value).buildPartial();
+ } else {
+ interval_ = value;
+ }
+ onChanged();
+ } else {
+ intervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearInterval() {
+ if (intervalBuilder_ == null) {
+ interval_ = null;
+ onChanged();
+ } else {
+ interval_ = null;
+ intervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getIntervalBuilder() {
+
+ onChanged();
+ return getIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getIntervalOrBuilder() {
+ if (intervalBuilder_ != null) {
+ return intervalBuilder_.getMessageOrBuilder();
+ } else {
+ return interval_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : interval_;
+ }
+ }
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getIntervalFieldBuilder() {
+ if (intervalBuilder_ == null) {
+ intervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getInterval(),
+ getParentForChildren(),
+ isClean());
+ interval_ = null;
+ }
+ return intervalBuilder_;
+ }
+
+ private com.google.protobuf.Duration baseEjectionTime_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> baseEjectionTimeBuilder_;
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasBaseEjectionTime() {
+ return baseEjectionTimeBuilder_ != null || baseEjectionTime_ != null;
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getBaseEjectionTime() {
+ if (baseEjectionTimeBuilder_ == null) {
+ return baseEjectionTime_ == null ? com.google.protobuf.Duration.getDefaultInstance() : baseEjectionTime_;
+ } else {
+ return baseEjectionTimeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setBaseEjectionTime(com.google.protobuf.Duration value) {
+ if (baseEjectionTimeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ baseEjectionTime_ = value;
+ onChanged();
+ } else {
+ baseEjectionTimeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setBaseEjectionTime(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (baseEjectionTimeBuilder_ == null) {
+ baseEjectionTime_ = builderForValue.build();
+ onChanged();
+ } else {
+ baseEjectionTimeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeBaseEjectionTime(com.google.protobuf.Duration value) {
+ if (baseEjectionTimeBuilder_ == null) {
+ if (baseEjectionTime_ != null) {
+ baseEjectionTime_ =
+ com.google.protobuf.Duration.newBuilder(baseEjectionTime_).mergeFrom(value).buildPartial();
+ } else {
+ baseEjectionTime_ = value;
+ }
+ onChanged();
+ } else {
+ baseEjectionTimeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearBaseEjectionTime() {
+ if (baseEjectionTimeBuilder_ == null) {
+ baseEjectionTime_ = null;
+ onChanged();
+ } else {
+ baseEjectionTime_ = null;
+ baseEjectionTimeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getBaseEjectionTimeBuilder() {
+
+ onChanged();
+ return getBaseEjectionTimeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getBaseEjectionTimeOrBuilder() {
+ if (baseEjectionTimeBuilder_ != null) {
+ return baseEjectionTimeBuilder_.getMessageOrBuilder();
+ } else {
+ return baseEjectionTime_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : baseEjectionTime_;
+ }
+ }
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getBaseEjectionTimeFieldBuilder() {
+ if (baseEjectionTimeBuilder_ == null) {
+ baseEjectionTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getBaseEjectionTime(),
+ getParentForChildren(),
+ isClean());
+ baseEjectionTime_ = null;
+ }
+ return baseEjectionTimeBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value maxEjectionPercent_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxEjectionPercentBuilder_;
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasMaxEjectionPercent() {
+ return maxEjectionPercentBuilder_ != null || maxEjectionPercent_ != null;
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxEjectionPercent() {
+ if (maxEjectionPercentBuilder_ == null) {
+ return maxEjectionPercent_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxEjectionPercent_;
+ } else {
+ return maxEjectionPercentBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setMaxEjectionPercent(com.google.protobuf.UInt32Value value) {
+ if (maxEjectionPercentBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxEjectionPercent_ = value;
+ onChanged();
+ } else {
+ maxEjectionPercentBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setMaxEjectionPercent(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxEjectionPercentBuilder_ == null) {
+ maxEjectionPercent_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxEjectionPercentBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeMaxEjectionPercent(com.google.protobuf.UInt32Value value) {
+ if (maxEjectionPercentBuilder_ == null) {
+ if (maxEjectionPercent_ != null) {
+ maxEjectionPercent_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxEjectionPercent_).mergeFrom(value).buildPartial();
+ } else {
+ maxEjectionPercent_ = value;
+ }
+ onChanged();
+ } else {
+ maxEjectionPercentBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearMaxEjectionPercent() {
+ if (maxEjectionPercentBuilder_ == null) {
+ maxEjectionPercent_ = null;
+ onChanged();
+ } else {
+ maxEjectionPercent_ = null;
+ maxEjectionPercentBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxEjectionPercentBuilder() {
+
+ onChanged();
+ return getMaxEjectionPercentFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxEjectionPercentOrBuilder() {
+ if (maxEjectionPercentBuilder_ != null) {
+ return maxEjectionPercentBuilder_.getMessageOrBuilder();
+ } else {
+ return maxEjectionPercent_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxEjectionPercent_;
+ }
+ }
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxEjectionPercentFieldBuilder() {
+ if (maxEjectionPercentBuilder_ == null) {
+ maxEjectionPercentBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxEjectionPercent(),
+ getParentForChildren(),
+ isClean());
+ maxEjectionPercent_ = null;
+ }
+ return maxEjectionPercentBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value enforcingConsecutive5Xx_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> enforcingConsecutive5XxBuilder_;
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasEnforcingConsecutive5Xx() {
+ return enforcingConsecutive5XxBuilder_ != null || enforcingConsecutive5Xx_ != null;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getEnforcingConsecutive5Xx() {
+ if (enforcingConsecutive5XxBuilder_ == null) {
+ return enforcingConsecutive5Xx_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingConsecutive5Xx_;
+ } else {
+ return enforcingConsecutive5XxBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setEnforcingConsecutive5Xx(com.google.protobuf.UInt32Value value) {
+ if (enforcingConsecutive5XxBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ enforcingConsecutive5Xx_ = value;
+ onChanged();
+ } else {
+ enforcingConsecutive5XxBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setEnforcingConsecutive5Xx(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (enforcingConsecutive5XxBuilder_ == null) {
+ enforcingConsecutive5Xx_ = builderForValue.build();
+ onChanged();
+ } else {
+ enforcingConsecutive5XxBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeEnforcingConsecutive5Xx(com.google.protobuf.UInt32Value value) {
+ if (enforcingConsecutive5XxBuilder_ == null) {
+ if (enforcingConsecutive5Xx_ != null) {
+ enforcingConsecutive5Xx_ =
+ com.google.protobuf.UInt32Value.newBuilder(enforcingConsecutive5Xx_).mergeFrom(value).buildPartial();
+ } else {
+ enforcingConsecutive5Xx_ = value;
+ }
+ onChanged();
+ } else {
+ enforcingConsecutive5XxBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearEnforcingConsecutive5Xx() {
+ if (enforcingConsecutive5XxBuilder_ == null) {
+ enforcingConsecutive5Xx_ = null;
+ onChanged();
+ } else {
+ enforcingConsecutive5Xx_ = null;
+ enforcingConsecutive5XxBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getEnforcingConsecutive5XxBuilder() {
+
+ onChanged();
+ return getEnforcingConsecutive5XxFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getEnforcingConsecutive5XxOrBuilder() {
+ if (enforcingConsecutive5XxBuilder_ != null) {
+ return enforcingConsecutive5XxBuilder_.getMessageOrBuilder();
+ } else {
+ return enforcingConsecutive5Xx_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingConsecutive5Xx_;
+ }
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getEnforcingConsecutive5XxFieldBuilder() {
+ if (enforcingConsecutive5XxBuilder_ == null) {
+ enforcingConsecutive5XxBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getEnforcingConsecutive5Xx(),
+ getParentForChildren(),
+ isClean());
+ enforcingConsecutive5Xx_ = null;
+ }
+ return enforcingConsecutive5XxBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value enforcingSuccessRate_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> enforcingSuccessRateBuilder_;
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasEnforcingSuccessRate() {
+ return enforcingSuccessRateBuilder_ != null || enforcingSuccessRate_ != null;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getEnforcingSuccessRate() {
+ if (enforcingSuccessRateBuilder_ == null) {
+ return enforcingSuccessRate_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingSuccessRate_;
+ } else {
+ return enforcingSuccessRateBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setEnforcingSuccessRate(com.google.protobuf.UInt32Value value) {
+ if (enforcingSuccessRateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ enforcingSuccessRate_ = value;
+ onChanged();
+ } else {
+ enforcingSuccessRateBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setEnforcingSuccessRate(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (enforcingSuccessRateBuilder_ == null) {
+ enforcingSuccessRate_ = builderForValue.build();
+ onChanged();
+ } else {
+ enforcingSuccessRateBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeEnforcingSuccessRate(com.google.protobuf.UInt32Value value) {
+ if (enforcingSuccessRateBuilder_ == null) {
+ if (enforcingSuccessRate_ != null) {
+ enforcingSuccessRate_ =
+ com.google.protobuf.UInt32Value.newBuilder(enforcingSuccessRate_).mergeFrom(value).buildPartial();
+ } else {
+ enforcingSuccessRate_ = value;
+ }
+ onChanged();
+ } else {
+ enforcingSuccessRateBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearEnforcingSuccessRate() {
+ if (enforcingSuccessRateBuilder_ == null) {
+ enforcingSuccessRate_ = null;
+ onChanged();
+ } else {
+ enforcingSuccessRate_ = null;
+ enforcingSuccessRateBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getEnforcingSuccessRateBuilder() {
+
+ onChanged();
+ return getEnforcingSuccessRateFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getEnforcingSuccessRateOrBuilder() {
+ if (enforcingSuccessRateBuilder_ != null) {
+ return enforcingSuccessRateBuilder_.getMessageOrBuilder();
+ } else {
+ return enforcingSuccessRate_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingSuccessRate_;
+ }
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getEnforcingSuccessRateFieldBuilder() {
+ if (enforcingSuccessRateBuilder_ == null) {
+ enforcingSuccessRateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getEnforcingSuccessRate(),
+ getParentForChildren(),
+ isClean());
+ enforcingSuccessRate_ = null;
+ }
+ return enforcingSuccessRateBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value successRateMinimumHosts_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> successRateMinimumHostsBuilder_;
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public boolean hasSuccessRateMinimumHosts() {
+ return successRateMinimumHostsBuilder_ != null || successRateMinimumHosts_ != null;
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public com.google.protobuf.UInt32Value getSuccessRateMinimumHosts() {
+ if (successRateMinimumHostsBuilder_ == null) {
+ return successRateMinimumHosts_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : successRateMinimumHosts_;
+ } else {
+ return successRateMinimumHostsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public Builder setSuccessRateMinimumHosts(com.google.protobuf.UInt32Value value) {
+ if (successRateMinimumHostsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ successRateMinimumHosts_ = value;
+ onChanged();
+ } else {
+ successRateMinimumHostsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public Builder setSuccessRateMinimumHosts(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (successRateMinimumHostsBuilder_ == null) {
+ successRateMinimumHosts_ = builderForValue.build();
+ onChanged();
+ } else {
+ successRateMinimumHostsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public Builder mergeSuccessRateMinimumHosts(com.google.protobuf.UInt32Value value) {
+ if (successRateMinimumHostsBuilder_ == null) {
+ if (successRateMinimumHosts_ != null) {
+ successRateMinimumHosts_ =
+ com.google.protobuf.UInt32Value.newBuilder(successRateMinimumHosts_).mergeFrom(value).buildPartial();
+ } else {
+ successRateMinimumHosts_ = value;
+ }
+ onChanged();
+ } else {
+ successRateMinimumHostsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public Builder clearSuccessRateMinimumHosts() {
+ if (successRateMinimumHostsBuilder_ == null) {
+ successRateMinimumHosts_ = null;
+ onChanged();
+ } else {
+ successRateMinimumHosts_ = null;
+ successRateMinimumHostsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getSuccessRateMinimumHostsBuilder() {
+
+ onChanged();
+ return getSuccessRateMinimumHostsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getSuccessRateMinimumHostsOrBuilder() {
+ if (successRateMinimumHostsBuilder_ != null) {
+ return successRateMinimumHostsBuilder_.getMessageOrBuilder();
+ } else {
+ return successRateMinimumHosts_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : successRateMinimumHosts_;
+ }
+ }
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getSuccessRateMinimumHostsFieldBuilder() {
+ if (successRateMinimumHostsBuilder_ == null) {
+ successRateMinimumHostsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getSuccessRateMinimumHosts(),
+ getParentForChildren(),
+ isClean());
+ successRateMinimumHosts_ = null;
+ }
+ return successRateMinimumHostsBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value successRateRequestVolume_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> successRateRequestVolumeBuilder_;
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public boolean hasSuccessRateRequestVolume() {
+ return successRateRequestVolumeBuilder_ != null || successRateRequestVolume_ != null;
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public com.google.protobuf.UInt32Value getSuccessRateRequestVolume() {
+ if (successRateRequestVolumeBuilder_ == null) {
+ return successRateRequestVolume_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : successRateRequestVolume_;
+ } else {
+ return successRateRequestVolumeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public Builder setSuccessRateRequestVolume(com.google.protobuf.UInt32Value value) {
+ if (successRateRequestVolumeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ successRateRequestVolume_ = value;
+ onChanged();
+ } else {
+ successRateRequestVolumeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public Builder setSuccessRateRequestVolume(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (successRateRequestVolumeBuilder_ == null) {
+ successRateRequestVolume_ = builderForValue.build();
+ onChanged();
+ } else {
+ successRateRequestVolumeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public Builder mergeSuccessRateRequestVolume(com.google.protobuf.UInt32Value value) {
+ if (successRateRequestVolumeBuilder_ == null) {
+ if (successRateRequestVolume_ != null) {
+ successRateRequestVolume_ =
+ com.google.protobuf.UInt32Value.newBuilder(successRateRequestVolume_).mergeFrom(value).buildPartial();
+ } else {
+ successRateRequestVolume_ = value;
+ }
+ onChanged();
+ } else {
+ successRateRequestVolumeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public Builder clearSuccessRateRequestVolume() {
+ if (successRateRequestVolumeBuilder_ == null) {
+ successRateRequestVolume_ = null;
+ onChanged();
+ } else {
+ successRateRequestVolume_ = null;
+ successRateRequestVolumeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getSuccessRateRequestVolumeBuilder() {
+
+ onChanged();
+ return getSuccessRateRequestVolumeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getSuccessRateRequestVolumeOrBuilder() {
+ if (successRateRequestVolumeBuilder_ != null) {
+ return successRateRequestVolumeBuilder_.getMessageOrBuilder();
+ } else {
+ return successRateRequestVolume_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : successRateRequestVolume_;
+ }
+ }
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getSuccessRateRequestVolumeFieldBuilder() {
+ if (successRateRequestVolumeBuilder_ == null) {
+ successRateRequestVolumeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getSuccessRateRequestVolume(),
+ getParentForChildren(),
+ isClean());
+ successRateRequestVolume_ = null;
+ }
+ return successRateRequestVolumeBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value successRateStdevFactor_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> successRateStdevFactorBuilder_;
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public boolean hasSuccessRateStdevFactor() {
+ return successRateStdevFactorBuilder_ != null || successRateStdevFactor_ != null;
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public com.google.protobuf.UInt32Value getSuccessRateStdevFactor() {
+ if (successRateStdevFactorBuilder_ == null) {
+ return successRateStdevFactor_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : successRateStdevFactor_;
+ } else {
+ return successRateStdevFactorBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public Builder setSuccessRateStdevFactor(com.google.protobuf.UInt32Value value) {
+ if (successRateStdevFactorBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ successRateStdevFactor_ = value;
+ onChanged();
+ } else {
+ successRateStdevFactorBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public Builder setSuccessRateStdevFactor(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (successRateStdevFactorBuilder_ == null) {
+ successRateStdevFactor_ = builderForValue.build();
+ onChanged();
+ } else {
+ successRateStdevFactorBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public Builder mergeSuccessRateStdevFactor(com.google.protobuf.UInt32Value value) {
+ if (successRateStdevFactorBuilder_ == null) {
+ if (successRateStdevFactor_ != null) {
+ successRateStdevFactor_ =
+ com.google.protobuf.UInt32Value.newBuilder(successRateStdevFactor_).mergeFrom(value).buildPartial();
+ } else {
+ successRateStdevFactor_ = value;
+ }
+ onChanged();
+ } else {
+ successRateStdevFactorBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public Builder clearSuccessRateStdevFactor() {
+ if (successRateStdevFactorBuilder_ == null) {
+ successRateStdevFactor_ = null;
+ onChanged();
+ } else {
+ successRateStdevFactor_ = null;
+ successRateStdevFactorBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getSuccessRateStdevFactorBuilder() {
+
+ onChanged();
+ return getSuccessRateStdevFactorFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getSuccessRateStdevFactorOrBuilder() {
+ if (successRateStdevFactorBuilder_ != null) {
+ return successRateStdevFactorBuilder_.getMessageOrBuilder();
+ } else {
+ return successRateStdevFactor_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : successRateStdevFactor_;
+ }
+ }
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getSuccessRateStdevFactorFieldBuilder() {
+ if (successRateStdevFactorBuilder_ == null) {
+ successRateStdevFactorBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getSuccessRateStdevFactor(),
+ getParentForChildren(),
+ isClean());
+ successRateStdevFactor_ = null;
+ }
+ return successRateStdevFactorBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value consecutiveGatewayFailure_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> consecutiveGatewayFailureBuilder_;
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public boolean hasConsecutiveGatewayFailure() {
+ return consecutiveGatewayFailureBuilder_ != null || consecutiveGatewayFailure_ != null;
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public com.google.protobuf.UInt32Value getConsecutiveGatewayFailure() {
+ if (consecutiveGatewayFailureBuilder_ == null) {
+ return consecutiveGatewayFailure_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : consecutiveGatewayFailure_;
+ } else {
+ return consecutiveGatewayFailureBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public Builder setConsecutiveGatewayFailure(com.google.protobuf.UInt32Value value) {
+ if (consecutiveGatewayFailureBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ consecutiveGatewayFailure_ = value;
+ onChanged();
+ } else {
+ consecutiveGatewayFailureBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public Builder setConsecutiveGatewayFailure(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (consecutiveGatewayFailureBuilder_ == null) {
+ consecutiveGatewayFailure_ = builderForValue.build();
+ onChanged();
+ } else {
+ consecutiveGatewayFailureBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public Builder mergeConsecutiveGatewayFailure(com.google.protobuf.UInt32Value value) {
+ if (consecutiveGatewayFailureBuilder_ == null) {
+ if (consecutiveGatewayFailure_ != null) {
+ consecutiveGatewayFailure_ =
+ com.google.protobuf.UInt32Value.newBuilder(consecutiveGatewayFailure_).mergeFrom(value).buildPartial();
+ } else {
+ consecutiveGatewayFailure_ = value;
+ }
+ onChanged();
+ } else {
+ consecutiveGatewayFailureBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public Builder clearConsecutiveGatewayFailure() {
+ if (consecutiveGatewayFailureBuilder_ == null) {
+ consecutiveGatewayFailure_ = null;
+ onChanged();
+ } else {
+ consecutiveGatewayFailure_ = null;
+ consecutiveGatewayFailureBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getConsecutiveGatewayFailureBuilder() {
+
+ onChanged();
+ return getConsecutiveGatewayFailureFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getConsecutiveGatewayFailureOrBuilder() {
+ if (consecutiveGatewayFailureBuilder_ != null) {
+ return consecutiveGatewayFailureBuilder_.getMessageOrBuilder();
+ } else {
+ return consecutiveGatewayFailure_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : consecutiveGatewayFailure_;
+ }
+ }
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getConsecutiveGatewayFailureFieldBuilder() {
+ if (consecutiveGatewayFailureBuilder_ == null) {
+ consecutiveGatewayFailureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getConsecutiveGatewayFailure(),
+ getParentForChildren(),
+ isClean());
+ consecutiveGatewayFailure_ = null;
+ }
+ return consecutiveGatewayFailureBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value enforcingConsecutiveGatewayFailure_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> enforcingConsecutiveGatewayFailureBuilder_;
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasEnforcingConsecutiveGatewayFailure() {
+ return enforcingConsecutiveGatewayFailureBuilder_ != null || enforcingConsecutiveGatewayFailure_ != null;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getEnforcingConsecutiveGatewayFailure() {
+ if (enforcingConsecutiveGatewayFailureBuilder_ == null) {
+ return enforcingConsecutiveGatewayFailure_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingConsecutiveGatewayFailure_;
+ } else {
+ return enforcingConsecutiveGatewayFailureBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setEnforcingConsecutiveGatewayFailure(com.google.protobuf.UInt32Value value) {
+ if (enforcingConsecutiveGatewayFailureBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ enforcingConsecutiveGatewayFailure_ = value;
+ onChanged();
+ } else {
+ enforcingConsecutiveGatewayFailureBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setEnforcingConsecutiveGatewayFailure(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (enforcingConsecutiveGatewayFailureBuilder_ == null) {
+ enforcingConsecutiveGatewayFailure_ = builderForValue.build();
+ onChanged();
+ } else {
+ enforcingConsecutiveGatewayFailureBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeEnforcingConsecutiveGatewayFailure(com.google.protobuf.UInt32Value value) {
+ if (enforcingConsecutiveGatewayFailureBuilder_ == null) {
+ if (enforcingConsecutiveGatewayFailure_ != null) {
+ enforcingConsecutiveGatewayFailure_ =
+ com.google.protobuf.UInt32Value.newBuilder(enforcingConsecutiveGatewayFailure_).mergeFrom(value).buildPartial();
+ } else {
+ enforcingConsecutiveGatewayFailure_ = value;
+ }
+ onChanged();
+ } else {
+ enforcingConsecutiveGatewayFailureBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearEnforcingConsecutiveGatewayFailure() {
+ if (enforcingConsecutiveGatewayFailureBuilder_ == null) {
+ enforcingConsecutiveGatewayFailure_ = null;
+ onChanged();
+ } else {
+ enforcingConsecutiveGatewayFailure_ = null;
+ enforcingConsecutiveGatewayFailureBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getEnforcingConsecutiveGatewayFailureBuilder() {
+
+ onChanged();
+ return getEnforcingConsecutiveGatewayFailureFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getEnforcingConsecutiveGatewayFailureOrBuilder() {
+ if (enforcingConsecutiveGatewayFailureBuilder_ != null) {
+ return enforcingConsecutiveGatewayFailureBuilder_.getMessageOrBuilder();
+ } else {
+ return enforcingConsecutiveGatewayFailure_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : enforcingConsecutiveGatewayFailure_;
+ }
+ }
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getEnforcingConsecutiveGatewayFailureFieldBuilder() {
+ if (enforcingConsecutiveGatewayFailureBuilder_ == null) {
+ enforcingConsecutiveGatewayFailureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getEnforcingConsecutiveGatewayFailure(),
+ getParentForChildren(),
+ isClean());
+ enforcingConsecutiveGatewayFailure_ = null;
+ }
+ return enforcingConsecutiveGatewayFailureBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.cluster.OutlierDetection)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.cluster.OutlierDetection)
+ private static final io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<OutlierDetection>
+ PARSER = new com.google.protobuf.AbstractParser<OutlierDetection>() {
+ public OutlierDetection parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new OutlierDetection(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<OutlierDetection> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<OutlierDetection> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.cluster.OutlierDetection getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetectionOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetectionOrBuilder.java
new file mode 100644
index 000000000..91a4aed7f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetectionOrBuilder.java
@@ -0,0 +1,365 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cluster/outlier_detection.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.cluster;
+
+public interface OutlierDetectionOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.cluster.OutlierDetection)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ boolean hasConsecutive5Xx();
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ com.google.protobuf.UInt32Value getConsecutive5Xx();
+ /**
+ * <pre>
+ * The number of consecutive 5xx responses before a consecutive 5xx ejection
+ * occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_5xx = 1;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getConsecutive5XxOrBuilder();
+
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasInterval();
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getInterval();
+ /**
+ * <pre>
+ * The time interval between ejection analysis sweeps. This can result in
+ * both new ejections as well as hosts being returned to service. Defaults
+ * to 10000ms or 10s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getIntervalOrBuilder();
+
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasBaseEjectionTime();
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getBaseEjectionTime();
+ /**
+ * <pre>
+ * The base time that a host is ejected for. The real time is equal to the
+ * base time multiplied by the number of times the host has been ejected.
+ * Defaults to 30000ms or 30s.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration base_ejection_time = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getBaseEjectionTimeOrBuilder();
+
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasMaxEjectionPercent();
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getMaxEjectionPercent();
+ /**
+ * <pre>
+ * The maximum % of an upstream cluster that can be ejected due to outlier
+ * detection. Defaults to 10% but will eject at least one host regardless of the value.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_ejection_percent = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxEjectionPercentOrBuilder();
+
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasEnforcingConsecutive5Xx();
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getEnforcingConsecutive5Xx();
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive 5xx. This setting can be used to disable
+ * ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getEnforcingConsecutive5XxOrBuilder();
+
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasEnforcingSuccessRate();
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getEnforcingSuccessRate();
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through success rate statistics. This setting can be used to
+ * disable ejection or to ramp it up slowly. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_success_rate = 6 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getEnforcingSuccessRateOrBuilder();
+
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ boolean hasSuccessRateMinimumHosts();
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ com.google.protobuf.UInt32Value getSuccessRateMinimumHosts();
+ /**
+ * <pre>
+ * The number of hosts in a cluster that must have enough request volume to
+ * detect success rate outliers. If the number of hosts is less than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for any host in the cluster. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_minimum_hosts = 7;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getSuccessRateMinimumHostsOrBuilder();
+
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ boolean hasSuccessRateRequestVolume();
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ com.google.protobuf.UInt32Value getSuccessRateRequestVolume();
+ /**
+ * <pre>
+ * The minimum number of total requests that must be collected in one
+ * interval (as defined by the interval duration above) to include this host
+ * in success rate based outlier detection. If the volume is lower than this
+ * setting, outlier detection via success rate statistics is not performed
+ * for that host. Defaults to 100.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_request_volume = 8;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getSuccessRateRequestVolumeOrBuilder();
+
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ boolean hasSuccessRateStdevFactor();
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ com.google.protobuf.UInt32Value getSuccessRateStdevFactor();
+ /**
+ * <pre>
+ * This factor is used to determine the ejection threshold for success rate
+ * outlier ejection. The ejection threshold is the difference between the
+ * mean success rate, and the product of this factor and the standard
+ * deviation of the mean success rate: mean - (stdev *
+ * success_rate_stdev_factor). This factor is divided by a thousand to get a
+ * double. That is, if the desired factor is 1.9, the runtime value should
+ * be 1900. Defaults to 1900.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value success_rate_stdev_factor = 9;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getSuccessRateStdevFactorOrBuilder();
+
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ boolean hasConsecutiveGatewayFailure();
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ com.google.protobuf.UInt32Value getConsecutiveGatewayFailure();
+ /**
+ * <pre>
+ * The number of consecutive gateway failures (502, 503, 504 status or
+ * connection errors that are mapped to one of those status codes) before a
+ * consecutive gateway failure ejection occurs. Defaults to 5.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value consecutive_gateway_failure = 10;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getConsecutiveGatewayFailureOrBuilder();
+
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasEnforcingConsecutiveGatewayFailure();
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getEnforcingConsecutiveGatewayFailure();
+ /**
+ * <pre>
+ * The % chance that a host will be actually ejected when an outlier status
+ * is detected through consecutive gateway failures. This setting can be
+ * used to disable ejection or to ramp it up slowly. Defaults to 0.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getEnforcingConsecutiveGatewayFailureOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetectionOuterClass.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetectionOuterClass.java
new file mode 100644
index 000000000..3daa53f1b
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/cluster/OutlierDetectionOuterClass.java
@@ -0,0 +1,90 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/cluster/outlier_detection.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.cluster;
+
+public final class OutlierDetectionOuterClass {
+ private OutlierDetectionOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_cluster_OutlierDetection_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_cluster_OutlierDetection_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n,envoy/api/v2/cluster/outlier_detection" +
+ ".proto\022\024envoy.api.v2.cluster\032\036google/pro" +
+ "tobuf/duration.proto\032\036google/protobuf/wr" +
+ "appers.proto\032\027validate/validate.proto\"\202\006" +
+ "\n\020OutlierDetection\0225\n\017consecutive_5xx\030\001 " +
+ "\001(\0132\034.google.protobuf.UInt32Value\0227\n\010int" +
+ "erval\030\002 \001(\0132\031.google.protobuf.DurationB\n" +
+ "\272\351\300\003\005\252\001\002*\000\022A\n\022base_ejection_time\030\003 \001(\0132\031" +
+ ".google.protobuf.DurationB\n\272\351\300\003\005\252\001\002*\000\022E\n" +
+ "\024max_ejection_percent\030\004 \001(\0132\034.google.pro" +
+ "tobuf.UInt32ValueB\t\272\351\300\003\004*\002\030d\022J\n\031enforcin" +
+ "g_consecutive_5xx\030\005 \001(\0132\034.google.protobu" +
+ "f.UInt32ValueB\t\272\351\300\003\004*\002\030d\022G\n\026enforcing_su" +
+ "ccess_rate\030\006 \001(\0132\034.google.protobuf.UInt3" +
+ "2ValueB\t\272\351\300\003\004*\002\030d\022@\n\032success_rate_minimu" +
+ "m_hosts\030\007 \001(\0132\034.google.protobuf.UInt32Va" +
+ "lue\022A\n\033success_rate_request_volume\030\010 \001(\013" +
+ "2\034.google.protobuf.UInt32Value\022?\n\031succes" +
+ "s_rate_stdev_factor\030\t \001(\0132\034.google.proto" +
+ "buf.UInt32Value\022A\n\033consecutive_gateway_f" +
+ "ailure\030\n \001(\0132\034.google.protobuf.UInt32Val" +
+ "ue\022V\n%enforcing_consecutive_gateway_fail" +
+ "ure\030\013 \001(\0132\034.google.protobuf.UInt32ValueB" +
+ "\t\272\351\300\003\004*\002\030dBD\n\'io.grpc.xds.shaded.envoy.a" +
+ "pi.v2.clusterP\001\252\002\026Envoy.Api.V2.ClusterNS" +
+ "b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.protobuf.DurationProto.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_cluster_OutlierDetection_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_cluster_OutlierDetection_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_cluster_OutlierDetection_descriptor,
+ new java.lang.String[] { "Consecutive5Xx", "Interval", "BaseEjectionTime", "MaxEjectionPercent", "EnforcingConsecutive5Xx", "EnforcingSuccessRate", "SuccessRateMinimumHosts", "SuccessRateRequestVolume", "SuccessRateStdevFactor", "ConsecutiveGatewayFailure", "EnforcingConsecutiveGatewayFailure", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ com.google.protobuf.DurationProto.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Address.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Address.java
new file mode 100644
index 000000000..2d0f08174
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Address.java
@@ -0,0 +1,877 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Addresses specify either a logical or physical address and port, which are
+ * used to tell Envoy where to bind/listen, connect to upstream and find
+ * management servers.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.Address}
+ */
+public final class Address extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.Address)
+ AddressOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Address.newBuilder() to construct.
+ private Address(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Address() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Address(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder subBuilder = null;
+ if (addressCase_ == 1) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_).toBuilder();
+ }
+ address_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_);
+ address_ = subBuilder.buildPartial();
+ }
+ addressCase_ = 1;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe.Builder subBuilder = null;
+ if (addressCase_ == 2) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_).toBuilder();
+ }
+ address_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Pipe.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_);
+ address_ = subBuilder.buildPartial();
+ }
+ addressCase_ = 2;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Address_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Address_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.class, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder.class);
+ }
+
+ private int addressCase_ = 0;
+ private java.lang.Object address_;
+ public enum AddressCase
+ implements com.google.protobuf.Internal.EnumLite {
+ SOCKET_ADDRESS(1),
+ PIPE(2),
+ ADDRESS_NOT_SET(0);
+ private final int value;
+ private AddressCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static AddressCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static AddressCase forNumber(int value) {
+ switch (value) {
+ case 1: return SOCKET_ADDRESS;
+ case 2: return PIPE;
+ case 0: return ADDRESS_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public AddressCase
+ getAddressCase() {
+ return AddressCase.forNumber(
+ addressCase_);
+ }
+
+ public static final int SOCKET_ADDRESS_FIELD_NUMBER = 1;
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public boolean hasSocketAddress() {
+ return addressCase_ == 1;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getSocketAddress() {
+ if (addressCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder getSocketAddressOrBuilder() {
+ if (addressCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance();
+ }
+
+ public static final int PIPE_FIELD_NUMBER = 2;
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public boolean hasPipe() {
+ return addressCase_ == 2;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Pipe getPipe() {
+ if (addressCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.PipeOrBuilder getPipeOrBuilder() {
+ if (addressCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (addressCase_ == 1) {
+ output.writeMessage(1, (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_);
+ }
+ if (addressCase_ == 2) {
+ output.writeMessage(2, (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (addressCase_ == 1) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_);
+ }
+ if (addressCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.Address)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.Address other = (io.grpc.xds.shaded.envoy.api.v2.core.Address) obj;
+
+ boolean result = true;
+ result = result && getAddressCase().equals(
+ other.getAddressCase());
+ if (!result) return false;
+ switch (addressCase_) {
+ case 1:
+ result = result && getSocketAddress()
+ .equals(other.getSocketAddress());
+ break;
+ case 2:
+ result = result && getPipe()
+ .equals(other.getPipe());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (addressCase_) {
+ case 1:
+ hash = (37 * hash) + SOCKET_ADDRESS_FIELD_NUMBER;
+ hash = (53 * hash) + getSocketAddress().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + PIPE_FIELD_NUMBER;
+ hash = (53 * hash) + getPipe().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.Address prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Addresses specify either a logical or physical address and port, which are
+ * used to tell Envoy where to bind/listen, connect to upstream and find
+ * management servers.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.Address}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.Address)
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Address_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Address_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.class, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.Address.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ addressCase_ = 0;
+ address_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Address_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Address result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Address result = new io.grpc.xds.shaded.envoy.api.v2.core.Address(this);
+ if (addressCase_ == 1) {
+ if (socketAddressBuilder_ == null) {
+ result.address_ = address_;
+ } else {
+ result.address_ = socketAddressBuilder_.build();
+ }
+ }
+ if (addressCase_ == 2) {
+ if (pipeBuilder_ == null) {
+ result.address_ = address_;
+ } else {
+ result.address_ = pipeBuilder_.build();
+ }
+ }
+ result.addressCase_ = addressCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.Address) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.Address)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.Address other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance()) return this;
+ switch (other.getAddressCase()) {
+ case SOCKET_ADDRESS: {
+ mergeSocketAddress(other.getSocketAddress());
+ break;
+ }
+ case PIPE: {
+ mergePipe(other.getPipe());
+ break;
+ }
+ case ADDRESS_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.Address parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.Address) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int addressCase_ = 0;
+ private java.lang.Object address_;
+ public AddressCase
+ getAddressCase() {
+ return AddressCase.forNumber(
+ addressCase_);
+ }
+
+ public Builder clearAddress() {
+ addressCase_ = 0;
+ address_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder> socketAddressBuilder_;
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public boolean hasSocketAddress() {
+ return addressCase_ == 1;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getSocketAddress() {
+ if (socketAddressBuilder_ == null) {
+ if (addressCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance();
+ } else {
+ if (addressCase_ == 1) {
+ return socketAddressBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public Builder setSocketAddress(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress value) {
+ if (socketAddressBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ address_ = value;
+ onChanged();
+ } else {
+ socketAddressBuilder_.setMessage(value);
+ }
+ addressCase_ = 1;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public Builder setSocketAddress(
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder builderForValue) {
+ if (socketAddressBuilder_ == null) {
+ address_ = builderForValue.build();
+ onChanged();
+ } else {
+ socketAddressBuilder_.setMessage(builderForValue.build());
+ }
+ addressCase_ = 1;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public Builder mergeSocketAddress(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress value) {
+ if (socketAddressBuilder_ == null) {
+ if (addressCase_ == 1 &&
+ address_ != io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance()) {
+ address_ = io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ address_ = value;
+ }
+ onChanged();
+ } else {
+ if (addressCase_ == 1) {
+ socketAddressBuilder_.mergeFrom(value);
+ }
+ socketAddressBuilder_.setMessage(value);
+ }
+ addressCase_ = 1;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public Builder clearSocketAddress() {
+ if (socketAddressBuilder_ == null) {
+ if (addressCase_ == 1) {
+ addressCase_ = 0;
+ address_ = null;
+ onChanged();
+ }
+ } else {
+ if (addressCase_ == 1) {
+ addressCase_ = 0;
+ address_ = null;
+ }
+ socketAddressBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder getSocketAddressBuilder() {
+ return getSocketAddressFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder getSocketAddressOrBuilder() {
+ if ((addressCase_ == 1) && (socketAddressBuilder_ != null)) {
+ return socketAddressBuilder_.getMessageOrBuilder();
+ } else {
+ if (addressCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder>
+ getSocketAddressFieldBuilder() {
+ if (socketAddressBuilder_ == null) {
+ if (!(addressCase_ == 1)) {
+ address_ = io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance();
+ }
+ socketAddressBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) address_,
+ getParentForChildren(),
+ isClean());
+ address_ = null;
+ }
+ addressCase_ = 1;
+ onChanged();;
+ return socketAddressBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe, io.grpc.xds.shaded.envoy.api.v2.core.Pipe.Builder, io.grpc.xds.shaded.envoy.api.v2.core.PipeOrBuilder> pipeBuilder_;
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public boolean hasPipe() {
+ return addressCase_ == 2;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Pipe getPipe() {
+ if (pipeBuilder_ == null) {
+ if (addressCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance();
+ } else {
+ if (addressCase_ == 2) {
+ return pipeBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public Builder setPipe(io.grpc.xds.shaded.envoy.api.v2.core.Pipe value) {
+ if (pipeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ address_ = value;
+ onChanged();
+ } else {
+ pipeBuilder_.setMessage(value);
+ }
+ addressCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public Builder setPipe(
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe.Builder builderForValue) {
+ if (pipeBuilder_ == null) {
+ address_ = builderForValue.build();
+ onChanged();
+ } else {
+ pipeBuilder_.setMessage(builderForValue.build());
+ }
+ addressCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public Builder mergePipe(io.grpc.xds.shaded.envoy.api.v2.core.Pipe value) {
+ if (pipeBuilder_ == null) {
+ if (addressCase_ == 2 &&
+ address_ != io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance()) {
+ address_ = io.grpc.xds.shaded.envoy.api.v2.core.Pipe.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ address_ = value;
+ }
+ onChanged();
+ } else {
+ if (addressCase_ == 2) {
+ pipeBuilder_.mergeFrom(value);
+ }
+ pipeBuilder_.setMessage(value);
+ }
+ addressCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public Builder clearPipe() {
+ if (pipeBuilder_ == null) {
+ if (addressCase_ == 2) {
+ addressCase_ = 0;
+ address_ = null;
+ onChanged();
+ }
+ } else {
+ if (addressCase_ == 2) {
+ addressCase_ = 0;
+ address_ = null;
+ }
+ pipeBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Pipe.Builder getPipeBuilder() {
+ return getPipeFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.PipeOrBuilder getPipeOrBuilder() {
+ if ((addressCase_ == 2) && (pipeBuilder_ != null)) {
+ return pipeBuilder_.getMessageOrBuilder();
+ } else {
+ if (addressCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe, io.grpc.xds.shaded.envoy.api.v2.core.Pipe.Builder, io.grpc.xds.shaded.envoy.api.v2.core.PipeOrBuilder>
+ getPipeFieldBuilder() {
+ if (pipeBuilder_ == null) {
+ if (!(addressCase_ == 2)) {
+ address_ = io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance();
+ }
+ pipeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe, io.grpc.xds.shaded.envoy.api.v2.core.Pipe.Builder, io.grpc.xds.shaded.envoy.api.v2.core.PipeOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) address_,
+ getParentForChildren(),
+ isClean());
+ address_ = null;
+ }
+ addressCase_ = 2;
+ onChanged();;
+ return pipeBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.Address)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.Address)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.Address DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.Address();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Address getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Address>
+ PARSER = new com.google.protobuf.AbstractParser<Address>() {
+ public Address parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Address(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Address> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Address> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AddressOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AddressOrBuilder.java
new file mode 100644
index 000000000..ee48636d7
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AddressOrBuilder.java
@@ -0,0 +1,37 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface AddressOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.Address)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ boolean hasSocketAddress();
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getSocketAddress();
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress socket_address = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder getSocketAddressOrBuilder();
+
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ boolean hasPipe();
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe getPipe();
+ /**
+ * <code>.envoy.api.v2.core.Pipe pipe = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.PipeOrBuilder getPipeOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address.AddressCase getAddressCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AddressOuterClass.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AddressOuterClass.java
new file mode 100644
index 000000000..c5399675a
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AddressOuterClass.java
@@ -0,0 +1,148 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public final class AddressOuterClass {
+ private AddressOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_Pipe_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_Pipe_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_SocketAddress_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_SocketAddress_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_TcpKeepalive_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_TcpKeepalive_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_BindConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_BindConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_Address_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_Address_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_CidrRange_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_CidrRange_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\037envoy/api/v2/core/address.proto\022\021envoy" +
+ ".api.v2.core\032\034envoy/api/v2/core/base.pro" +
+ "to\032\036google/protobuf/wrappers.proto\032\027vali" +
+ "date/validate.proto\"\037\n\004Pipe\022\027\n\004path\030\001 \001(" +
+ "\tB\t\272\351\300\003\004r\002 \001\"\220\002\n\rSocketAddress\022G\n\010protoc" +
+ "ol\030\001 \001(\0162).envoy.api.v2.core.SocketAddre" +
+ "ss.ProtocolB\n\272\351\300\003\005\202\001\002\020\001\022\032\n\007address\030\002 \001(\t" +
+ "B\t\272\351\300\003\004r\002 \001\022!\n\nport_value\030\003 \001(\rB\013\272\351\300\003\006*\004" +
+ "\030\377\377\003H\000\022\024\n\nnamed_port\030\004 \001(\tH\000\022\025\n\rresolver" +
+ "_name\030\005 \001(\t\022\023\n\013ipv4_compat\030\006 \001(\010\"\034\n\010Prot" +
+ "ocol\022\007\n\003TCP\020\000\022\007\n\003UDP\020\001B\027\n\016port_specifier" +
+ "\022\005\270\351\300\003\001\"\266\001\n\014TcpKeepalive\0226\n\020keepalive_pr" +
+ "obes\030\001 \001(\0132\034.google.protobuf.UInt32Value" +
+ "\0224\n\016keepalive_time\030\002 \001(\0132\034.google.protob" +
+ "uf.UInt32Value\0228\n\022keepalive_interval\030\003 \001" +
+ "(\0132\034.google.protobuf.UInt32Value\"\271\001\n\nBin" +
+ "dConfig\022D\n\016source_address\030\001 \001(\0132 .envoy." +
+ "api.v2.core.SocketAddressB\n\272\351\300\003\005\212\001\002\020\001\022,\n" +
+ "\010freebind\030\002 \001(\0132\032.google.protobuf.BoolVa" +
+ "lue\0227\n\016socket_options\030\003 \003(\0132\037.envoy.api." +
+ "v2.core.SocketOption\"\200\001\n\007Address\022:\n\016sock" +
+ "et_address\030\001 \001(\0132 .envoy.api.v2.core.Soc" +
+ "ketAddressH\000\022\'\n\004pipe\030\002 \001(\0132\027.envoy.api.v" +
+ "2.core.PipeH\000B\020\n\007address\022\005\270\351\300\003\001\"l\n\tCidrR" +
+ "ange\022!\n\016address_prefix\030\001 \001(\tB\t\272\351\300\003\004r\002 \001\022" +
+ "<\n\nprefix_len\030\002 \001(\0132\034.google.protobuf.UI" +
+ "nt32ValueB\n\272\351\300\003\005*\003\030\200\001B(\n$io.grpc.xds.sha" +
+ "ded.envoy.api.v2.coreP\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_core_Pipe_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_core_Pipe_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_Pipe_descriptor,
+ new java.lang.String[] { "Path", });
+ internal_static_envoy_api_v2_core_SocketAddress_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_core_SocketAddress_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_SocketAddress_descriptor,
+ new java.lang.String[] { "Protocol", "Address", "PortValue", "NamedPort", "ResolverName", "Ipv4Compat", "PortSpecifier", });
+ internal_static_envoy_api_v2_core_TcpKeepalive_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_core_TcpKeepalive_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_TcpKeepalive_descriptor,
+ new java.lang.String[] { "KeepaliveProbes", "KeepaliveTime", "KeepaliveInterval", });
+ internal_static_envoy_api_v2_core_BindConfig_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_envoy_api_v2_core_BindConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_BindConfig_descriptor,
+ new java.lang.String[] { "SourceAddress", "Freebind", "SocketOptions", });
+ internal_static_envoy_api_v2_core_Address_descriptor =
+ getDescriptor().getMessageTypes().get(4);
+ internal_static_envoy_api_v2_core_Address_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_Address_descriptor,
+ new java.lang.String[] { "SocketAddress", "Pipe", "Address", });
+ internal_static_envoy_api_v2_core_CidrRange_descriptor =
+ getDescriptor().getMessageTypes().get(5);
+ internal_static_envoy_api_v2_core_CidrRange_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_CidrRange_descriptor,
+ new java.lang.String[] { "AddressPrefix", "PrefixLen", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.required);
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AggregatedConfigSource.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AggregatedConfigSource.java
new file mode 100644
index 000000000..63ea9875d
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AggregatedConfigSource.java
@@ -0,0 +1,400 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Aggregated Discovery Service (ADS) options. This is currently empty, but when
+ * set in :ref:`ConfigSource &lt;envoy_api_msg_core.ConfigSource&gt;` can be used to
+ * specify that ADS is to be used.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.AggregatedConfigSource}
+ */
+public final class AggregatedConfigSource extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.AggregatedConfigSource)
+ AggregatedConfigSourceOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use AggregatedConfigSource.newBuilder() to construct.
+ private AggregatedConfigSource(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private AggregatedConfigSource() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private AggregatedConfigSource(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_AggregatedConfigSource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_AggregatedConfigSource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.class, io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource other = (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) obj;
+
+ boolean result = true;
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Aggregated Discovery Service (ADS) options. This is currently empty, but when
+ * set in :ref:`ConfigSource &lt;envoy_api_msg_core.ConfigSource&gt;` can be used to
+ * specify that ADS is to be used.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.AggregatedConfigSource}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.AggregatedConfigSource)
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSourceOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_AggregatedConfigSource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_AggregatedConfigSource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.class, io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_AggregatedConfigSource_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource result = new io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource(this);
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance()) return this;
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.AggregatedConfigSource)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.AggregatedConfigSource)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<AggregatedConfigSource>
+ PARSER = new com.google.protobuf.AbstractParser<AggregatedConfigSource>() {
+ public AggregatedConfigSource parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new AggregatedConfigSource(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<AggregatedConfigSource> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<AggregatedConfigSource> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AggregatedConfigSourceOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AggregatedConfigSourceOrBuilder.java
new file mode 100644
index 000000000..7e7514d3e
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/AggregatedConfigSourceOrBuilder.java
@@ -0,0 +1,9 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface AggregatedConfigSourceOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.AggregatedConfigSource)
+ com.google.protobuf.MessageOrBuilder {
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ApiConfigSource.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ApiConfigSource.java
new file mode 100644
index 000000000..af5b808dc
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ApiConfigSource.java
@@ -0,0 +1,2071 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * API configuration source. This identifies the API type and cluster that Envoy
+ * will use to fetch an xDS API.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.ApiConfigSource}
+ */
+public final class ApiConfigSource extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.ApiConfigSource)
+ ApiConfigSourceOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use ApiConfigSource.newBuilder() to construct.
+ private ApiConfigSource(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ApiConfigSource() {
+ apiType_ = 0;
+ clusterNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ grpcServices_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ApiConfigSource(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ int rawValue = input.readEnum();
+
+ apiType_ = rawValue;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ clusterNames_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ clusterNames_.add(s);
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (refreshDelay_ != null) {
+ subBuilder = refreshDelay_.toBuilder();
+ }
+ refreshDelay_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(refreshDelay_);
+ refreshDelay_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ grpcServices_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService>();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ grpcServices_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.parser(), extensionRegistry));
+ break;
+ }
+ case 42: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (requestTimeout_ != null) {
+ subBuilder = requestTimeout_.toBuilder();
+ }
+ requestTimeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(requestTimeout_);
+ requestTimeout_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 50: {
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.Builder subBuilder = null;
+ if (rateLimitSettings_ != null) {
+ subBuilder = rateLimitSettings_.toBuilder();
+ }
+ rateLimitSettings_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(rateLimitSettings_);
+ rateLimitSettings_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ clusterNames_ = clusterNames_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ grpcServices_ = java.util.Collections.unmodifiableList(grpcServices_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ApiConfigSource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ApiConfigSource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.class, io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.Builder.class);
+ }
+
+ /**
+ * <pre>
+ * APIs may be fetched via either REST or gRPC.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.api.v2.core.ApiConfigSource.ApiType}
+ */
+ public enum ApiType
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <pre>
+ * REST-JSON legacy corresponds to the v1 API.
+ * </pre>
+ *
+ * <code>REST_LEGACY = 0 [deprecated = true];</code>
+ */
+ @java.lang.Deprecated
+ REST_LEGACY(0),
+ /**
+ * <pre>
+ * REST-JSON v2 API. The `canonical JSON encoding
+ * &lt;https://developers.google.com/protocol-buffers/docs/proto3#json&gt;`_ for
+ * the v2 protos is used.
+ * </pre>
+ *
+ * <code>REST = 1;</code>
+ */
+ REST(1),
+ /**
+ * <pre>
+ * gRPC v2 API.
+ * </pre>
+ *
+ * <code>GRPC = 2;</code>
+ */
+ GRPC(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <pre>
+ * REST-JSON legacy corresponds to the v1 API.
+ * </pre>
+ *
+ * <code>REST_LEGACY = 0 [deprecated = true];</code>
+ */
+ public static final int REST_LEGACY_VALUE = 0;
+ /**
+ * <pre>
+ * REST-JSON v2 API. The `canonical JSON encoding
+ * &lt;https://developers.google.com/protocol-buffers/docs/proto3#json&gt;`_ for
+ * the v2 protos is used.
+ * </pre>
+ *
+ * <code>REST = 1;</code>
+ */
+ public static final int REST_VALUE = 1;
+ /**
+ * <pre>
+ * gRPC v2 API.
+ * </pre>
+ *
+ * <code>GRPC = 2;</code>
+ */
+ public static final int GRPC_VALUE = 2;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ApiType valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static ApiType forNumber(int value) {
+ switch (value) {
+ case 0: return REST_LEGACY;
+ case 1: return REST;
+ case 2: return GRPC;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<ApiType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ ApiType> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<ApiType>() {
+ public ApiType findValueByNumber(int number) {
+ return ApiType.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final ApiType[] VALUES = values();
+
+ public static ApiType valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private ApiType(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.core.ApiConfigSource.ApiType)
+ }
+
+ private int bitField0_;
+ public static final int API_TYPE_FIELD_NUMBER = 1;
+ private int apiType_;
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getApiTypeValue() {
+ return apiType_;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType getApiType() {
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType result = io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType.valueOf(apiType_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType.UNRECOGNIZED : result;
+ }
+
+ public static final int CLUSTER_NAMES_FIELD_NUMBER = 2;
+ private com.google.protobuf.LazyStringList clusterNames_;
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getClusterNamesList() {
+ return clusterNames_;
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public int getClusterNamesCount() {
+ return clusterNames_.size();
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public java.lang.String getClusterNames(int index) {
+ return clusterNames_.get(index);
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterNamesBytes(int index) {
+ return clusterNames_.getByteString(index);
+ }
+
+ public static final int GRPC_SERVICES_FIELD_NUMBER = 4;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService> grpcServices_;
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService> getGrpcServicesList() {
+ return grpcServices_;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder>
+ getGrpcServicesOrBuilderList() {
+ return grpcServices_;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public int getGrpcServicesCount() {
+ return grpcServices_.size();
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService getGrpcServices(int index) {
+ return grpcServices_.get(index);
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder getGrpcServicesOrBuilder(
+ int index) {
+ return grpcServices_.get(index);
+ }
+
+ public static final int REFRESH_DELAY_FIELD_NUMBER = 3;
+ private com.google.protobuf.Duration refreshDelay_;
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public boolean hasRefreshDelay() {
+ return refreshDelay_ != null;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public com.google.protobuf.Duration getRefreshDelay() {
+ return refreshDelay_ == null ? com.google.protobuf.Duration.getDefaultInstance() : refreshDelay_;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getRefreshDelayOrBuilder() {
+ return getRefreshDelay();
+ }
+
+ public static final int REQUEST_TIMEOUT_FIELD_NUMBER = 5;
+ private com.google.protobuf.Duration requestTimeout_;
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasRequestTimeout() {
+ return requestTimeout_ != null;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getRequestTimeout() {
+ return requestTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : requestTimeout_;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getRequestTimeoutOrBuilder() {
+ return getRequestTimeout();
+ }
+
+ public static final int RATE_LIMIT_SETTINGS_FIELD_NUMBER = 6;
+ private io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings rateLimitSettings_;
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public boolean hasRateLimitSettings() {
+ return rateLimitSettings_ != null;
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings getRateLimitSettings() {
+ return rateLimitSettings_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.getDefaultInstance() : rateLimitSettings_;
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettingsOrBuilder getRateLimitSettingsOrBuilder() {
+ return getRateLimitSettings();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (apiType_ != io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType.REST_LEGACY.getNumber()) {
+ output.writeEnum(1, apiType_);
+ }
+ for (int i = 0; i < clusterNames_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, clusterNames_.getRaw(i));
+ }
+ if (refreshDelay_ != null) {
+ output.writeMessage(3, getRefreshDelay());
+ }
+ for (int i = 0; i < grpcServices_.size(); i++) {
+ output.writeMessage(4, grpcServices_.get(i));
+ }
+ if (requestTimeout_ != null) {
+ output.writeMessage(5, getRequestTimeout());
+ }
+ if (rateLimitSettings_ != null) {
+ output.writeMessage(6, getRateLimitSettings());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (apiType_ != io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType.REST_LEGACY.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(1, apiType_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < clusterNames_.size(); i++) {
+ dataSize += computeStringSizeNoTag(clusterNames_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getClusterNamesList().size();
+ }
+ if (refreshDelay_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getRefreshDelay());
+ }
+ for (int i = 0; i < grpcServices_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, grpcServices_.get(i));
+ }
+ if (requestTimeout_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getRequestTimeout());
+ }
+ if (rateLimitSettings_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getRateLimitSettings());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource other = (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) obj;
+
+ boolean result = true;
+ result = result && apiType_ == other.apiType_;
+ result = result && getClusterNamesList()
+ .equals(other.getClusterNamesList());
+ result = result && getGrpcServicesList()
+ .equals(other.getGrpcServicesList());
+ result = result && (hasRefreshDelay() == other.hasRefreshDelay());
+ if (hasRefreshDelay()) {
+ result = result && getRefreshDelay()
+ .equals(other.getRefreshDelay());
+ }
+ result = result && (hasRequestTimeout() == other.hasRequestTimeout());
+ if (hasRequestTimeout()) {
+ result = result && getRequestTimeout()
+ .equals(other.getRequestTimeout());
+ }
+ result = result && (hasRateLimitSettings() == other.hasRateLimitSettings());
+ if (hasRateLimitSettings()) {
+ result = result && getRateLimitSettings()
+ .equals(other.getRateLimitSettings());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + API_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + apiType_;
+ if (getClusterNamesCount() > 0) {
+ hash = (37 * hash) + CLUSTER_NAMES_FIELD_NUMBER;
+ hash = (53 * hash) + getClusterNamesList().hashCode();
+ }
+ if (getGrpcServicesCount() > 0) {
+ hash = (37 * hash) + GRPC_SERVICES_FIELD_NUMBER;
+ hash = (53 * hash) + getGrpcServicesList().hashCode();
+ }
+ if (hasRefreshDelay()) {
+ hash = (37 * hash) + REFRESH_DELAY_FIELD_NUMBER;
+ hash = (53 * hash) + getRefreshDelay().hashCode();
+ }
+ if (hasRequestTimeout()) {
+ hash = (37 * hash) + REQUEST_TIMEOUT_FIELD_NUMBER;
+ hash = (53 * hash) + getRequestTimeout().hashCode();
+ }
+ if (hasRateLimitSettings()) {
+ hash = (37 * hash) + RATE_LIMIT_SETTINGS_FIELD_NUMBER;
+ hash = (53 * hash) + getRateLimitSettings().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * API configuration source. This identifies the API type and cluster that Envoy
+ * will use to fetch an xDS API.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.ApiConfigSource}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.ApiConfigSource)
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSourceOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ApiConfigSource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ApiConfigSource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.class, io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getGrpcServicesFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ apiType_ = 0;
+
+ clusterNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ if (grpcServicesBuilder_ == null) {
+ grpcServices_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ grpcServicesBuilder_.clear();
+ }
+ if (refreshDelayBuilder_ == null) {
+ refreshDelay_ = null;
+ } else {
+ refreshDelay_ = null;
+ refreshDelayBuilder_ = null;
+ }
+ if (requestTimeoutBuilder_ == null) {
+ requestTimeout_ = null;
+ } else {
+ requestTimeout_ = null;
+ requestTimeoutBuilder_ = null;
+ }
+ if (rateLimitSettingsBuilder_ == null) {
+ rateLimitSettings_ = null;
+ } else {
+ rateLimitSettings_ = null;
+ rateLimitSettingsBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ApiConfigSource_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource result = new io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.apiType_ = apiType_;
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ clusterNames_ = clusterNames_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.clusterNames_ = clusterNames_;
+ if (grpcServicesBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ grpcServices_ = java.util.Collections.unmodifiableList(grpcServices_);
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.grpcServices_ = grpcServices_;
+ } else {
+ result.grpcServices_ = grpcServicesBuilder_.build();
+ }
+ if (refreshDelayBuilder_ == null) {
+ result.refreshDelay_ = refreshDelay_;
+ } else {
+ result.refreshDelay_ = refreshDelayBuilder_.build();
+ }
+ if (requestTimeoutBuilder_ == null) {
+ result.requestTimeout_ = requestTimeout_;
+ } else {
+ result.requestTimeout_ = requestTimeoutBuilder_.build();
+ }
+ if (rateLimitSettingsBuilder_ == null) {
+ result.rateLimitSettings_ = rateLimitSettings_;
+ } else {
+ result.rateLimitSettings_ = rateLimitSettingsBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance()) return this;
+ if (other.apiType_ != 0) {
+ setApiTypeValue(other.getApiTypeValue());
+ }
+ if (!other.clusterNames_.isEmpty()) {
+ if (clusterNames_.isEmpty()) {
+ clusterNames_ = other.clusterNames_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureClusterNamesIsMutable();
+ clusterNames_.addAll(other.clusterNames_);
+ }
+ onChanged();
+ }
+ if (grpcServicesBuilder_ == null) {
+ if (!other.grpcServices_.isEmpty()) {
+ if (grpcServices_.isEmpty()) {
+ grpcServices_ = other.grpcServices_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureGrpcServicesIsMutable();
+ grpcServices_.addAll(other.grpcServices_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.grpcServices_.isEmpty()) {
+ if (grpcServicesBuilder_.isEmpty()) {
+ grpcServicesBuilder_.dispose();
+ grpcServicesBuilder_ = null;
+ grpcServices_ = other.grpcServices_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ grpcServicesBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getGrpcServicesFieldBuilder() : null;
+ } else {
+ grpcServicesBuilder_.addAllMessages(other.grpcServices_);
+ }
+ }
+ }
+ if (other.hasRefreshDelay()) {
+ mergeRefreshDelay(other.getRefreshDelay());
+ }
+ if (other.hasRequestTimeout()) {
+ mergeRequestTimeout(other.getRequestTimeout());
+ }
+ if (other.hasRateLimitSettings()) {
+ mergeRateLimitSettings(other.getRateLimitSettings());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int apiType_ = 0;
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getApiTypeValue() {
+ return apiType_;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setApiTypeValue(int value) {
+ apiType_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType getApiType() {
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType result = io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType.valueOf(apiType_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType.UNRECOGNIZED : result;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setApiType(io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ apiType_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearApiType() {
+
+ apiType_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList clusterNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureClusterNamesIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ clusterNames_ = new com.google.protobuf.LazyStringArrayList(clusterNames_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getClusterNamesList() {
+ return clusterNames_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public int getClusterNamesCount() {
+ return clusterNames_.size();
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public java.lang.String getClusterNames(int index) {
+ return clusterNames_.get(index);
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterNamesBytes(int index) {
+ return clusterNames_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public Builder setClusterNames(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureClusterNamesIsMutable();
+ clusterNames_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public Builder addClusterNames(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureClusterNamesIsMutable();
+ clusterNames_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public Builder addAllClusterNames(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureClusterNamesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, clusterNames_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public Builder clearClusterNames() {
+ clusterNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ public Builder addClusterNamesBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureClusterNamesIsMutable();
+ clusterNames_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService> grpcServices_ =
+ java.util.Collections.emptyList();
+ private void ensureGrpcServicesIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ grpcServices_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService>(grpcServices_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder> grpcServicesBuilder_;
+
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService> getGrpcServicesList() {
+ if (grpcServicesBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(grpcServices_);
+ } else {
+ return grpcServicesBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public int getGrpcServicesCount() {
+ if (grpcServicesBuilder_ == null) {
+ return grpcServices_.size();
+ } else {
+ return grpcServicesBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService getGrpcServices(int index) {
+ if (grpcServicesBuilder_ == null) {
+ return grpcServices_.get(index);
+ } else {
+ return grpcServicesBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder setGrpcServices(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService value) {
+ if (grpcServicesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureGrpcServicesIsMutable();
+ grpcServices_.set(index, value);
+ onChanged();
+ } else {
+ grpcServicesBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder setGrpcServices(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder builderForValue) {
+ if (grpcServicesBuilder_ == null) {
+ ensureGrpcServicesIsMutable();
+ grpcServices_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ grpcServicesBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder addGrpcServices(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService value) {
+ if (grpcServicesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureGrpcServicesIsMutable();
+ grpcServices_.add(value);
+ onChanged();
+ } else {
+ grpcServicesBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder addGrpcServices(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService value) {
+ if (grpcServicesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureGrpcServicesIsMutable();
+ grpcServices_.add(index, value);
+ onChanged();
+ } else {
+ grpcServicesBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder addGrpcServices(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder builderForValue) {
+ if (grpcServicesBuilder_ == null) {
+ ensureGrpcServicesIsMutable();
+ grpcServices_.add(builderForValue.build());
+ onChanged();
+ } else {
+ grpcServicesBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder addGrpcServices(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder builderForValue) {
+ if (grpcServicesBuilder_ == null) {
+ ensureGrpcServicesIsMutable();
+ grpcServices_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ grpcServicesBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder addAllGrpcServices(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.GrpcService> values) {
+ if (grpcServicesBuilder_ == null) {
+ ensureGrpcServicesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, grpcServices_);
+ onChanged();
+ } else {
+ grpcServicesBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder clearGrpcServices() {
+ if (grpcServicesBuilder_ == null) {
+ grpcServices_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ } else {
+ grpcServicesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public Builder removeGrpcServices(int index) {
+ if (grpcServicesBuilder_ == null) {
+ ensureGrpcServicesIsMutable();
+ grpcServices_.remove(index);
+ onChanged();
+ } else {
+ grpcServicesBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder getGrpcServicesBuilder(
+ int index) {
+ return getGrpcServicesFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder getGrpcServicesOrBuilder(
+ int index) {
+ if (grpcServicesBuilder_ == null) {
+ return grpcServices_.get(index); } else {
+ return grpcServicesBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder>
+ getGrpcServicesOrBuilderList() {
+ if (grpcServicesBuilder_ != null) {
+ return grpcServicesBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(grpcServices_);
+ }
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder addGrpcServicesBuilder() {
+ return getGrpcServicesFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder addGrpcServicesBuilder(
+ int index) {
+ return getGrpcServicesFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder>
+ getGrpcServicesBuilderList() {
+ return getGrpcServicesFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder>
+ getGrpcServicesFieldBuilder() {
+ if (grpcServicesBuilder_ == null) {
+ grpcServicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder>(
+ grpcServices_,
+ ((bitField0_ & 0x00000004) == 0x00000004),
+ getParentForChildren(),
+ isClean());
+ grpcServices_ = null;
+ }
+ return grpcServicesBuilder_;
+ }
+
+ private com.google.protobuf.Duration refreshDelay_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> refreshDelayBuilder_;
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public boolean hasRefreshDelay() {
+ return refreshDelayBuilder_ != null || refreshDelay_ != null;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public com.google.protobuf.Duration getRefreshDelay() {
+ if (refreshDelayBuilder_ == null) {
+ return refreshDelay_ == null ? com.google.protobuf.Duration.getDefaultInstance() : refreshDelay_;
+ } else {
+ return refreshDelayBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public Builder setRefreshDelay(com.google.protobuf.Duration value) {
+ if (refreshDelayBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ refreshDelay_ = value;
+ onChanged();
+ } else {
+ refreshDelayBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public Builder setRefreshDelay(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (refreshDelayBuilder_ == null) {
+ refreshDelay_ = builderForValue.build();
+ onChanged();
+ } else {
+ refreshDelayBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public Builder mergeRefreshDelay(com.google.protobuf.Duration value) {
+ if (refreshDelayBuilder_ == null) {
+ if (refreshDelay_ != null) {
+ refreshDelay_ =
+ com.google.protobuf.Duration.newBuilder(refreshDelay_).mergeFrom(value).buildPartial();
+ } else {
+ refreshDelay_ = value;
+ }
+ onChanged();
+ } else {
+ refreshDelayBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public Builder clearRefreshDelay() {
+ if (refreshDelayBuilder_ == null) {
+ refreshDelay_ = null;
+ onChanged();
+ } else {
+ refreshDelay_ = null;
+ refreshDelayBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public com.google.protobuf.Duration.Builder getRefreshDelayBuilder() {
+
+ onChanged();
+ return getRefreshDelayFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getRefreshDelayOrBuilder() {
+ if (refreshDelayBuilder_ != null) {
+ return refreshDelayBuilder_.getMessageOrBuilder();
+ } else {
+ return refreshDelay_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : refreshDelay_;
+ }
+ }
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getRefreshDelayFieldBuilder() {
+ if (refreshDelayBuilder_ == null) {
+ refreshDelayBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getRefreshDelay(),
+ getParentForChildren(),
+ isClean());
+ refreshDelay_ = null;
+ }
+ return refreshDelayBuilder_;
+ }
+
+ private com.google.protobuf.Duration requestTimeout_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> requestTimeoutBuilder_;
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasRequestTimeout() {
+ return requestTimeoutBuilder_ != null || requestTimeout_ != null;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getRequestTimeout() {
+ if (requestTimeoutBuilder_ == null) {
+ return requestTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : requestTimeout_;
+ } else {
+ return requestTimeoutBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setRequestTimeout(com.google.protobuf.Duration value) {
+ if (requestTimeoutBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ requestTimeout_ = value;
+ onChanged();
+ } else {
+ requestTimeoutBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setRequestTimeout(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (requestTimeoutBuilder_ == null) {
+ requestTimeout_ = builderForValue.build();
+ onChanged();
+ } else {
+ requestTimeoutBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeRequestTimeout(com.google.protobuf.Duration value) {
+ if (requestTimeoutBuilder_ == null) {
+ if (requestTimeout_ != null) {
+ requestTimeout_ =
+ com.google.protobuf.Duration.newBuilder(requestTimeout_).mergeFrom(value).buildPartial();
+ } else {
+ requestTimeout_ = value;
+ }
+ onChanged();
+ } else {
+ requestTimeoutBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearRequestTimeout() {
+ if (requestTimeoutBuilder_ == null) {
+ requestTimeout_ = null;
+ onChanged();
+ } else {
+ requestTimeout_ = null;
+ requestTimeoutBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getRequestTimeoutBuilder() {
+
+ onChanged();
+ return getRequestTimeoutFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getRequestTimeoutOrBuilder() {
+ if (requestTimeoutBuilder_ != null) {
+ return requestTimeoutBuilder_.getMessageOrBuilder();
+ } else {
+ return requestTimeout_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : requestTimeout_;
+ }
+ }
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getRequestTimeoutFieldBuilder() {
+ if (requestTimeoutBuilder_ == null) {
+ requestTimeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getRequestTimeout(),
+ getParentForChildren(),
+ isClean());
+ requestTimeout_ = null;
+ }
+ return requestTimeoutBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings rateLimitSettings_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings, io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.Builder, io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettingsOrBuilder> rateLimitSettingsBuilder_;
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public boolean hasRateLimitSettings() {
+ return rateLimitSettingsBuilder_ != null || rateLimitSettings_ != null;
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings getRateLimitSettings() {
+ if (rateLimitSettingsBuilder_ == null) {
+ return rateLimitSettings_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.getDefaultInstance() : rateLimitSettings_;
+ } else {
+ return rateLimitSettingsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public Builder setRateLimitSettings(io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings value) {
+ if (rateLimitSettingsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ rateLimitSettings_ = value;
+ onChanged();
+ } else {
+ rateLimitSettingsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public Builder setRateLimitSettings(
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.Builder builderForValue) {
+ if (rateLimitSettingsBuilder_ == null) {
+ rateLimitSettings_ = builderForValue.build();
+ onChanged();
+ } else {
+ rateLimitSettingsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public Builder mergeRateLimitSettings(io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings value) {
+ if (rateLimitSettingsBuilder_ == null) {
+ if (rateLimitSettings_ != null) {
+ rateLimitSettings_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.newBuilder(rateLimitSettings_).mergeFrom(value).buildPartial();
+ } else {
+ rateLimitSettings_ = value;
+ }
+ onChanged();
+ } else {
+ rateLimitSettingsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public Builder clearRateLimitSettings() {
+ if (rateLimitSettingsBuilder_ == null) {
+ rateLimitSettings_ = null;
+ onChanged();
+ } else {
+ rateLimitSettings_ = null;
+ rateLimitSettingsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.Builder getRateLimitSettingsBuilder() {
+
+ onChanged();
+ return getRateLimitSettingsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettingsOrBuilder getRateLimitSettingsOrBuilder() {
+ if (rateLimitSettingsBuilder_ != null) {
+ return rateLimitSettingsBuilder_.getMessageOrBuilder();
+ } else {
+ return rateLimitSettings_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.getDefaultInstance() : rateLimitSettings_;
+ }
+ }
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings, io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.Builder, io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettingsOrBuilder>
+ getRateLimitSettingsFieldBuilder() {
+ if (rateLimitSettingsBuilder_ == null) {
+ rateLimitSettingsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings, io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.Builder, io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettingsOrBuilder>(
+ getRateLimitSettings(),
+ getParentForChildren(),
+ isClean());
+ rateLimitSettings_ = null;
+ }
+ return rateLimitSettingsBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.ApiConfigSource)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.ApiConfigSource)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ApiConfigSource>
+ PARSER = new com.google.protobuf.AbstractParser<ApiConfigSource>() {
+ public ApiConfigSource parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ApiConfigSource(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ApiConfigSource> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ApiConfigSource> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ApiConfigSourceOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ApiConfigSourceOrBuilder.java
new file mode 100644
index 000000000..6c8758242
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ApiConfigSourceOrBuilder.java
@@ -0,0 +1,200 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface ApiConfigSourceOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.ApiConfigSource)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ int getApiTypeValue();
+ /**
+ * <code>.envoy.api.v2.core.ApiConfigSource.ApiType api_type = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.ApiType getApiType();
+
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ java.util.List<java.lang.String>
+ getClusterNamesList();
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ int getClusterNamesCount();
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ java.lang.String getClusterNames(int index);
+ /**
+ * <pre>
+ * Cluster names should be used only with REST_LEGACY/REST. If &gt; 1
+ * cluster is defined, clusters will be cycled through if any kind of failure
+ * occurs.
+ * .. note::
+ * The cluster with name ``cluster_name`` must be statically defined and its
+ * type must not be ``EDS``.
+ * </pre>
+ *
+ * <code>repeated string cluster_names = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getClusterNamesBytes(int index);
+
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService>
+ getGrpcServicesList();
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService getGrpcServices(int index);
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ int getGrpcServicesCount();
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder>
+ getGrpcServicesOrBuilderList();
+ /**
+ * <pre>
+ * Multiple gRPC services be provided for GRPC. If &gt; 1 cluster is defined,
+ * services will be cycled through if any kind of failure occurs.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService grpc_services = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder getGrpcServicesOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ boolean hasRefreshDelay();
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ com.google.protobuf.Duration getRefreshDelay();
+ /**
+ * <pre>
+ * For REST APIs, the delay between successive polls.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration refresh_delay = 3;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getRefreshDelayOrBuilder();
+
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasRequestTimeout();
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getRequestTimeout();
+ /**
+ * <pre>
+ * For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration request_timeout = 5 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getRequestTimeoutOrBuilder();
+
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ boolean hasRateLimitSettings();
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings getRateLimitSettings();
+ /**
+ * <pre>
+ * For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ * rate limited.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.RateLimitSettings rate_limit_settings = 6;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettingsOrBuilder getRateLimitSettingsOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Base.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Base.java
new file mode 100644
index 000000000..24488a06f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Base.java
@@ -0,0 +1,223 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public final class Base {
+ private Base() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_Locality_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_Locality_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_Node_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_Node_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_Metadata_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_Metadata_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_Metadata_FilterMetadataEntry_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_Metadata_FilterMetadataEntry_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_RuntimeUInt32_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_RuntimeUInt32_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HeaderValue_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HeaderValue_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HeaderValueOption_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HeaderValueOption_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_DataSource_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_DataSource_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_TransportSocket_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_TransportSocket_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_SocketOption_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_SocketOption_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_RuntimeFractionalPercent_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_RuntimeFractionalPercent_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\034envoy/api/v2/core/base.proto\022\021envoy.ap" +
+ "i.v2.core\032\031google/protobuf/any.proto\032\034go" +
+ "ogle/protobuf/struct.proto\032\036google/proto" +
+ "buf/wrappers.proto\032\027validate/validate.pr" +
+ "oto\032\030envoy/type/percent.proto\":\n\010Localit" +
+ "y\022\016\n\006region\030\001 \001(\t\022\014\n\004zone\030\002 \001(\t\022\020\n\010sub_z" +
+ "one\030\003 \001(\t\"\224\001\n\004Node\022\n\n\002id\030\001 \001(\t\022\017\n\007cluste" +
+ "r\030\002 \001(\t\022)\n\010metadata\030\003 \001(\0132\027.google.proto" +
+ "buf.Struct\022-\n\010locality\030\004 \001(\0132\033.envoy.api" +
+ ".v2.core.Locality\022\025\n\rbuild_version\030\005 \001(\t" +
+ "\"\244\001\n\010Metadata\022H\n\017filter_metadata\030\001 \003(\0132/" +
+ ".envoy.api.v2.core.Metadata.FilterMetada" +
+ "taEntry\032N\n\023FilterMetadataEntry\022\013\n\003key\030\001 " +
+ "\001(\t\022&\n\005value\030\002 \001(\0132\027.google.protobuf.Str" +
+ "uct:\0028\001\"F\n\rRuntimeUInt32\022\025\n\rdefault_valu" +
+ "e\030\002 \001(\r\022\036\n\013runtime_key\030\003 \001(\tB\t\272\351\300\003\004r\002 \001\"" +
+ "E\n\013HeaderValue\022\032\n\003key\030\001 \001(\tB\r\272\351\300\003\010r\006 \001(\200" +
+ "\200\001\022\032\n\005value\030\002 \001(\tB\013\272\351\300\003\006r\004(\200\200\001\"{\n\021Header" +
+ "ValueOption\022:\n\006header\030\001 \001(\0132\036.envoy.api." +
+ "v2.core.HeaderValueB\n\272\351\300\003\005\212\001\002\020\001\022*\n\006appen" +
+ "d\030\002 \001(\0132\032.google.protobuf.BoolValue\"\206\001\n\n" +
+ "DataSource\022\035\n\010filename\030\001 \001(\tB\t\272\351\300\003\004r\002 \001H" +
+ "\000\022!\n\014inline_bytes\030\002 \001(\014B\t\272\351\300\003\004z\002\020\001H\000\022\"\n\r" +
+ "inline_string\030\003 \001(\tB\t\272\351\300\003\004r\002 \001H\000B\022\n\tspec" +
+ "ifier\022\005\270\351\300\003\001\"\222\001\n\017TransportSocket\022\027\n\004name" +
+ "\030\001 \001(\tB\t\272\351\300\003\004r\002 \001\022)\n\006config\030\002 \001(\0132\027.goog" +
+ "le.protobuf.StructH\000\022,\n\014typed_config\030\003 \001" +
+ "(\0132\024.google.protobuf.AnyH\000B\r\n\013config_typ" +
+ "e\"\224\002\n\014SocketOption\022\023\n\013description\030\001 \001(\t\022" +
+ "\r\n\005level\030\002 \001(\003\022\014\n\004name\030\003 \001(\003\022\023\n\tint_valu" +
+ "e\030\004 \001(\003H\000\022\023\n\tbuf_value\030\005 \001(\014H\000\022P\n\005state\030" +
+ "\006 \001(\0162+.envoy.api.v2.core.SocketOption.S" +
+ "ocketStateB\024\272\351\300\003\005\212\001\002\020\001\272\351\300\003\005\202\001\002\020\001\"F\n\013Sock" +
+ "etState\022\021\n\rSTATE_PREBIND\020\000\022\017\n\013STATE_BOUN" +
+ "D\020\001\022\023\n\017STATE_LISTENING\020\002B\016\n\005value\022\005\270\351\300\003\001" +
+ "\"q\n\030RuntimeFractionalPercent\022@\n\rdefault_" +
+ "value\030\001 \001(\0132\035.envoy.type.FractionalPerce" +
+ "ntB\n\272\351\300\003\005\212\001\002\020\001\022\023\n\013runtime_key\030\002 \001(\t*(\n\017R" +
+ "outingPriority\022\013\n\007DEFAULT\020\000\022\010\n\004HIGH\020\001*~\n" +
+ "\rRequestMethod\022\026\n\022METHOD_UNSPECIFIED\020\000\022\007" +
+ "\n\003GET\020\001\022\010\n\004HEAD\020\002\022\010\n\004POST\020\003\022\007\n\003PUT\020\004\022\n\n\006" +
+ "DELETE\020\005\022\013\n\007CONNECT\020\006\022\013\n\007OPTIONS\020\007\022\t\n\005TR" +
+ "ACE\020\010B.\n$io.grpc.xds.shaded.envoy.api.v2" +
+ ".coreP\001Z\004coreb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.protobuf.AnyProto.getDescriptor(),
+ com.google.protobuf.StructProto.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ io.grpc.xds.shaded.envoy.type.PercentOuterClass.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_core_Locality_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_core_Locality_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_Locality_descriptor,
+ new java.lang.String[] { "Region", "Zone", "SubZone", });
+ internal_static_envoy_api_v2_core_Node_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_core_Node_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_Node_descriptor,
+ new java.lang.String[] { "Id", "Cluster", "Metadata", "Locality", "BuildVersion", });
+ internal_static_envoy_api_v2_core_Metadata_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_core_Metadata_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_Metadata_descriptor,
+ new java.lang.String[] { "FilterMetadata", });
+ internal_static_envoy_api_v2_core_Metadata_FilterMetadataEntry_descriptor =
+ internal_static_envoy_api_v2_core_Metadata_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_core_Metadata_FilterMetadataEntry_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_Metadata_FilterMetadataEntry_descriptor,
+ new java.lang.String[] { "Key", "Value", });
+ internal_static_envoy_api_v2_core_RuntimeUInt32_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_envoy_api_v2_core_RuntimeUInt32_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_RuntimeUInt32_descriptor,
+ new java.lang.String[] { "DefaultValue", "RuntimeKey", });
+ internal_static_envoy_api_v2_core_HeaderValue_descriptor =
+ getDescriptor().getMessageTypes().get(4);
+ internal_static_envoy_api_v2_core_HeaderValue_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HeaderValue_descriptor,
+ new java.lang.String[] { "Key", "Value", });
+ internal_static_envoy_api_v2_core_HeaderValueOption_descriptor =
+ getDescriptor().getMessageTypes().get(5);
+ internal_static_envoy_api_v2_core_HeaderValueOption_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HeaderValueOption_descriptor,
+ new java.lang.String[] { "Header", "Append", });
+ internal_static_envoy_api_v2_core_DataSource_descriptor =
+ getDescriptor().getMessageTypes().get(6);
+ internal_static_envoy_api_v2_core_DataSource_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_DataSource_descriptor,
+ new java.lang.String[] { "Filename", "InlineBytes", "InlineString", "Specifier", });
+ internal_static_envoy_api_v2_core_TransportSocket_descriptor =
+ getDescriptor().getMessageTypes().get(7);
+ internal_static_envoy_api_v2_core_TransportSocket_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_TransportSocket_descriptor,
+ new java.lang.String[] { "Name", "Config", "TypedConfig", "ConfigType", });
+ internal_static_envoy_api_v2_core_SocketOption_descriptor =
+ getDescriptor().getMessageTypes().get(8);
+ internal_static_envoy_api_v2_core_SocketOption_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_SocketOption_descriptor,
+ new java.lang.String[] { "Description", "Level", "Name", "IntValue", "BufValue", "State", "Value", });
+ internal_static_envoy_api_v2_core_RuntimeFractionalPercent_descriptor =
+ getDescriptor().getMessageTypes().get(9);
+ internal_static_envoy_api_v2_core_RuntimeFractionalPercent_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_RuntimeFractionalPercent_descriptor,
+ new java.lang.String[] { "DefaultValue", "RuntimeKey", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.required);
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ com.google.protobuf.AnyProto.getDescriptor();
+ com.google.protobuf.StructProto.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ io.grpc.xds.shaded.envoy.type.PercentOuterClass.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/BindConfig.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/BindConfig.java
new file mode 100644
index 000000000..304d6c8ec
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/BindConfig.java
@@ -0,0 +1,1382 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * Protobuf type {@code envoy.api.v2.core.BindConfig}
+ */
+public final class BindConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.BindConfig)
+ BindConfigOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use BindConfig.newBuilder() to construct.
+ private BindConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private BindConfig() {
+ socketOptions_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private BindConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder subBuilder = null;
+ if (sourceAddress_ != null) {
+ subBuilder = sourceAddress_.toBuilder();
+ }
+ sourceAddress_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(sourceAddress_);
+ sourceAddress_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (freebind_ != null) {
+ subBuilder = freebind_.toBuilder();
+ }
+ freebind_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(freebind_);
+ freebind_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ socketOptions_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.SocketOption>();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ socketOptions_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ socketOptions_ = java.util.Collections.unmodifiableList(socketOptions_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_BindConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_BindConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.class, io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int SOURCE_ADDRESS_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress sourceAddress_;
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasSourceAddress() {
+ return sourceAddress_ != null;
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getSourceAddress() {
+ return sourceAddress_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance() : sourceAddress_;
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder getSourceAddressOrBuilder() {
+ return getSourceAddress();
+ }
+
+ public static final int FREEBIND_FIELD_NUMBER = 2;
+ private com.google.protobuf.BoolValue freebind_;
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public boolean hasFreebind() {
+ return freebind_ != null;
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public com.google.protobuf.BoolValue getFreebind() {
+ return freebind_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : freebind_;
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getFreebindOrBuilder() {
+ return getFreebind();
+ }
+
+ public static final int SOCKET_OPTIONS_FIELD_NUMBER = 3;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.SocketOption> socketOptions_;
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.SocketOption> getSocketOptionsList() {
+ return socketOptions_;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder>
+ getSocketOptionsOrBuilderList() {
+ return socketOptions_;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public int getSocketOptionsCount() {
+ return socketOptions_.size();
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption getSocketOptions(int index) {
+ return socketOptions_.get(index);
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder getSocketOptionsOrBuilder(
+ int index) {
+ return socketOptions_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (sourceAddress_ != null) {
+ output.writeMessage(1, getSourceAddress());
+ }
+ if (freebind_ != null) {
+ output.writeMessage(2, getFreebind());
+ }
+ for (int i = 0; i < socketOptions_.size(); i++) {
+ output.writeMessage(3, socketOptions_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (sourceAddress_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getSourceAddress());
+ }
+ if (freebind_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getFreebind());
+ }
+ for (int i = 0; i < socketOptions_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, socketOptions_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.BindConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig other = (io.grpc.xds.shaded.envoy.api.v2.core.BindConfig) obj;
+
+ boolean result = true;
+ result = result && (hasSourceAddress() == other.hasSourceAddress());
+ if (hasSourceAddress()) {
+ result = result && getSourceAddress()
+ .equals(other.getSourceAddress());
+ }
+ result = result && (hasFreebind() == other.hasFreebind());
+ if (hasFreebind()) {
+ result = result && getFreebind()
+ .equals(other.getFreebind());
+ }
+ result = result && getSocketOptionsList()
+ .equals(other.getSocketOptionsList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasSourceAddress()) {
+ hash = (37 * hash) + SOURCE_ADDRESS_FIELD_NUMBER;
+ hash = (53 * hash) + getSourceAddress().hashCode();
+ }
+ if (hasFreebind()) {
+ hash = (37 * hash) + FREEBIND_FIELD_NUMBER;
+ hash = (53 * hash) + getFreebind().hashCode();
+ }
+ if (getSocketOptionsCount() > 0) {
+ hash = (37 * hash) + SOCKET_OPTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + getSocketOptionsList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.BindConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.BindConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.BindConfig)
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_BindConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_BindConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.class, io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getSocketOptionsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (sourceAddressBuilder_ == null) {
+ sourceAddress_ = null;
+ } else {
+ sourceAddress_ = null;
+ sourceAddressBuilder_ = null;
+ }
+ if (freebindBuilder_ == null) {
+ freebind_ = null;
+ } else {
+ freebind_ = null;
+ freebindBuilder_ = null;
+ }
+ if (socketOptionsBuilder_ == null) {
+ socketOptions_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ socketOptionsBuilder_.clear();
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_BindConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig result = new io.grpc.xds.shaded.envoy.api.v2.core.BindConfig(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (sourceAddressBuilder_ == null) {
+ result.sourceAddress_ = sourceAddress_;
+ } else {
+ result.sourceAddress_ = sourceAddressBuilder_.build();
+ }
+ if (freebindBuilder_ == null) {
+ result.freebind_ = freebind_;
+ } else {
+ result.freebind_ = freebindBuilder_.build();
+ }
+ if (socketOptionsBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ socketOptions_ = java.util.Collections.unmodifiableList(socketOptions_);
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.socketOptions_ = socketOptions_;
+ } else {
+ result.socketOptions_ = socketOptionsBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.BindConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.BindConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.BindConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.BindConfig.getDefaultInstance()) return this;
+ if (other.hasSourceAddress()) {
+ mergeSourceAddress(other.getSourceAddress());
+ }
+ if (other.hasFreebind()) {
+ mergeFreebind(other.getFreebind());
+ }
+ if (socketOptionsBuilder_ == null) {
+ if (!other.socketOptions_.isEmpty()) {
+ if (socketOptions_.isEmpty()) {
+ socketOptions_ = other.socketOptions_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureSocketOptionsIsMutable();
+ socketOptions_.addAll(other.socketOptions_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.socketOptions_.isEmpty()) {
+ if (socketOptionsBuilder_.isEmpty()) {
+ socketOptionsBuilder_.dispose();
+ socketOptionsBuilder_ = null;
+ socketOptions_ = other.socketOptions_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ socketOptionsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getSocketOptionsFieldBuilder() : null;
+ } else {
+ socketOptionsBuilder_.addAllMessages(other.socketOptions_);
+ }
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.BindConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.BindConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress sourceAddress_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder> sourceAddressBuilder_;
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasSourceAddress() {
+ return sourceAddressBuilder_ != null || sourceAddress_ != null;
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getSourceAddress() {
+ if (sourceAddressBuilder_ == null) {
+ return sourceAddress_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance() : sourceAddress_;
+ } else {
+ return sourceAddressBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setSourceAddress(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress value) {
+ if (sourceAddressBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ sourceAddress_ = value;
+ onChanged();
+ } else {
+ sourceAddressBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setSourceAddress(
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder builderForValue) {
+ if (sourceAddressBuilder_ == null) {
+ sourceAddress_ = builderForValue.build();
+ onChanged();
+ } else {
+ sourceAddressBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeSourceAddress(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress value) {
+ if (sourceAddressBuilder_ == null) {
+ if (sourceAddress_ != null) {
+ sourceAddress_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.newBuilder(sourceAddress_).mergeFrom(value).buildPartial();
+ } else {
+ sourceAddress_ = value;
+ }
+ onChanged();
+ } else {
+ sourceAddressBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearSourceAddress() {
+ if (sourceAddressBuilder_ == null) {
+ sourceAddress_ = null;
+ onChanged();
+ } else {
+ sourceAddress_ = null;
+ sourceAddressBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder getSourceAddressBuilder() {
+
+ onChanged();
+ return getSourceAddressFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder getSourceAddressOrBuilder() {
+ if (sourceAddressBuilder_ != null) {
+ return sourceAddressBuilder_.getMessageOrBuilder();
+ } else {
+ return sourceAddress_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance() : sourceAddress_;
+ }
+ }
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder>
+ getSourceAddressFieldBuilder() {
+ if (sourceAddressBuilder_ == null) {
+ sourceAddressBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder>(
+ getSourceAddress(),
+ getParentForChildren(),
+ isClean());
+ sourceAddress_ = null;
+ }
+ return sourceAddressBuilder_;
+ }
+
+ private com.google.protobuf.BoolValue freebind_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> freebindBuilder_;
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public boolean hasFreebind() {
+ return freebindBuilder_ != null || freebind_ != null;
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public com.google.protobuf.BoolValue getFreebind() {
+ if (freebindBuilder_ == null) {
+ return freebind_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : freebind_;
+ } else {
+ return freebindBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public Builder setFreebind(com.google.protobuf.BoolValue value) {
+ if (freebindBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ freebind_ = value;
+ onChanged();
+ } else {
+ freebindBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public Builder setFreebind(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (freebindBuilder_ == null) {
+ freebind_ = builderForValue.build();
+ onChanged();
+ } else {
+ freebindBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public Builder mergeFreebind(com.google.protobuf.BoolValue value) {
+ if (freebindBuilder_ == null) {
+ if (freebind_ != null) {
+ freebind_ =
+ com.google.protobuf.BoolValue.newBuilder(freebind_).mergeFrom(value).buildPartial();
+ } else {
+ freebind_ = value;
+ }
+ onChanged();
+ } else {
+ freebindBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public Builder clearFreebind() {
+ if (freebindBuilder_ == null) {
+ freebind_ = null;
+ onChanged();
+ } else {
+ freebind_ = null;
+ freebindBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getFreebindBuilder() {
+
+ onChanged();
+ return getFreebindFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getFreebindOrBuilder() {
+ if (freebindBuilder_ != null) {
+ return freebindBuilder_.getMessageOrBuilder();
+ } else {
+ return freebind_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : freebind_;
+ }
+ }
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getFreebindFieldBuilder() {
+ if (freebindBuilder_ == null) {
+ freebindBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getFreebind(),
+ getParentForChildren(),
+ isClean());
+ freebind_ = null;
+ }
+ return freebindBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.SocketOption> socketOptions_ =
+ java.util.Collections.emptyList();
+ private void ensureSocketOptionsIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ socketOptions_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.SocketOption>(socketOptions_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder> socketOptionsBuilder_;
+
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.SocketOption> getSocketOptionsList() {
+ if (socketOptionsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(socketOptions_);
+ } else {
+ return socketOptionsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public int getSocketOptionsCount() {
+ if (socketOptionsBuilder_ == null) {
+ return socketOptions_.size();
+ } else {
+ return socketOptionsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption getSocketOptions(int index) {
+ if (socketOptionsBuilder_ == null) {
+ return socketOptions_.get(index);
+ } else {
+ return socketOptionsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder setSocketOptions(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption value) {
+ if (socketOptionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSocketOptionsIsMutable();
+ socketOptions_.set(index, value);
+ onChanged();
+ } else {
+ socketOptionsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder setSocketOptions(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder builderForValue) {
+ if (socketOptionsBuilder_ == null) {
+ ensureSocketOptionsIsMutable();
+ socketOptions_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ socketOptionsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder addSocketOptions(io.grpc.xds.shaded.envoy.api.v2.core.SocketOption value) {
+ if (socketOptionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSocketOptionsIsMutable();
+ socketOptions_.add(value);
+ onChanged();
+ } else {
+ socketOptionsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder addSocketOptions(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption value) {
+ if (socketOptionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureSocketOptionsIsMutable();
+ socketOptions_.add(index, value);
+ onChanged();
+ } else {
+ socketOptionsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder addSocketOptions(
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder builderForValue) {
+ if (socketOptionsBuilder_ == null) {
+ ensureSocketOptionsIsMutable();
+ socketOptions_.add(builderForValue.build());
+ onChanged();
+ } else {
+ socketOptionsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder addSocketOptions(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder builderForValue) {
+ if (socketOptionsBuilder_ == null) {
+ ensureSocketOptionsIsMutable();
+ socketOptions_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ socketOptionsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder addAllSocketOptions(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.SocketOption> values) {
+ if (socketOptionsBuilder_ == null) {
+ ensureSocketOptionsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, socketOptions_);
+ onChanged();
+ } else {
+ socketOptionsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder clearSocketOptions() {
+ if (socketOptionsBuilder_ == null) {
+ socketOptions_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ } else {
+ socketOptionsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public Builder removeSocketOptions(int index) {
+ if (socketOptionsBuilder_ == null) {
+ ensureSocketOptionsIsMutable();
+ socketOptions_.remove(index);
+ onChanged();
+ } else {
+ socketOptionsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder getSocketOptionsBuilder(
+ int index) {
+ return getSocketOptionsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder getSocketOptionsOrBuilder(
+ int index) {
+ if (socketOptionsBuilder_ == null) {
+ return socketOptions_.get(index); } else {
+ return socketOptionsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder>
+ getSocketOptionsOrBuilderList() {
+ if (socketOptionsBuilder_ != null) {
+ return socketOptionsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(socketOptions_);
+ }
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder addSocketOptionsBuilder() {
+ return getSocketOptionsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder addSocketOptionsBuilder(
+ int index) {
+ return getSocketOptionsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder>
+ getSocketOptionsBuilderList() {
+ return getSocketOptionsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder>
+ getSocketOptionsFieldBuilder() {
+ if (socketOptionsBuilder_ == null) {
+ socketOptionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder, io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder>(
+ socketOptions_,
+ ((bitField0_ & 0x00000004) == 0x00000004),
+ getParentForChildren(),
+ isClean());
+ socketOptions_ = null;
+ }
+ return socketOptionsBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.BindConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.BindConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.BindConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.BindConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.BindConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<BindConfig>
+ PARSER = new com.google.protobuf.AbstractParser<BindConfig>() {
+ public BindConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new BindConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<BindConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<BindConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.BindConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/BindConfigOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/BindConfigOrBuilder.java
new file mode 100644
index 000000000..47d9d2031
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/BindConfigOrBuilder.java
@@ -0,0 +1,126 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface BindConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.BindConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasSourceAddress();
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getSourceAddress();
+ /**
+ * <pre>
+ * The address to bind to when creating a socket.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketAddress source_address = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder getSourceAddressOrBuilder();
+
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ boolean hasFreebind();
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ com.google.protobuf.BoolValue getFreebind();
+ /**
+ * <pre>
+ * Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ * flag is set to true, allows the :ref:`source_address
+ * &lt;envoy_api_field_UpstreamBindConfig.source_address&gt;` to be an IP address
+ * that is not configured on the system running Envoy. When this flag is set
+ * to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ * flag is not set (default), the socket is not modified, i.e. the option is
+ * neither enabled nor disabled.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue freebind = 2;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getFreebindOrBuilder();
+
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.SocketOption>
+ getSocketOptionsList();
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption getSocketOptions(int index);
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ int getSocketOptionsCount();
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder>
+ getSocketOptionsOrBuilderList();
+ /**
+ * <pre>
+ * Additional socket options that may not be present in Envoy source code or
+ * precompiled binaries.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.SocketOption socket_options = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder getSocketOptionsOrBuilder(
+ int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/CidrRange.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/CidrRange.java
new file mode 100644
index 000000000..3e36f4d89
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/CidrRange.java
@@ -0,0 +1,783 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * CidrRange specifies an IP Address and a prefix length to construct
+ * the subnet mask for a `CIDR &lt;https://tools.ietf.org/html/rfc4632&gt;`_ range.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.CidrRange}
+ */
+public final class CidrRange extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.CidrRange)
+ CidrRangeOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use CidrRange.newBuilder() to construct.
+ private CidrRange(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CidrRange() {
+ addressPrefix_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CidrRange(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ addressPrefix_ = s;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (prefixLen_ != null) {
+ subBuilder = prefixLen_.toBuilder();
+ }
+ prefixLen_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(prefixLen_);
+ prefixLen_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_CidrRange_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_CidrRange_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.CidrRange.class, io.grpc.xds.shaded.envoy.api.v2.core.CidrRange.Builder.class);
+ }
+
+ public static final int ADDRESS_PREFIX_FIELD_NUMBER = 1;
+ private volatile java.lang.Object addressPrefix_;
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getAddressPrefix() {
+ java.lang.Object ref = addressPrefix_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ addressPrefix_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getAddressPrefixBytes() {
+ java.lang.Object ref = addressPrefix_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ addressPrefix_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int PREFIX_LEN_FIELD_NUMBER = 2;
+ private com.google.protobuf.UInt32Value prefixLen_;
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasPrefixLen() {
+ return prefixLen_ != null;
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getPrefixLen() {
+ return prefixLen_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : prefixLen_;
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getPrefixLenOrBuilder() {
+ return getPrefixLen();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getAddressPrefixBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, addressPrefix_);
+ }
+ if (prefixLen_ != null) {
+ output.writeMessage(2, getPrefixLen());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getAddressPrefixBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, addressPrefix_);
+ }
+ if (prefixLen_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getPrefixLen());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.CidrRange)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.CidrRange other = (io.grpc.xds.shaded.envoy.api.v2.core.CidrRange) obj;
+
+ boolean result = true;
+ result = result && getAddressPrefix()
+ .equals(other.getAddressPrefix());
+ result = result && (hasPrefixLen() == other.hasPrefixLen());
+ if (hasPrefixLen()) {
+ result = result && getPrefixLen()
+ .equals(other.getPrefixLen());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + ADDRESS_PREFIX_FIELD_NUMBER;
+ hash = (53 * hash) + getAddressPrefix().hashCode();
+ if (hasPrefixLen()) {
+ hash = (37 * hash) + PREFIX_LEN_FIELD_NUMBER;
+ hash = (53 * hash) + getPrefixLen().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.CidrRange prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * CidrRange specifies an IP Address and a prefix length to construct
+ * the subnet mask for a `CIDR &lt;https://tools.ietf.org/html/rfc4632&gt;`_ range.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.CidrRange}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.CidrRange)
+ io.grpc.xds.shaded.envoy.api.v2.core.CidrRangeOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_CidrRange_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_CidrRange_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.CidrRange.class, io.grpc.xds.shaded.envoy.api.v2.core.CidrRange.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.CidrRange.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ addressPrefix_ = "";
+
+ if (prefixLenBuilder_ == null) {
+ prefixLen_ = null;
+ } else {
+ prefixLen_ = null;
+ prefixLenBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_CidrRange_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.CidrRange getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.CidrRange.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.CidrRange build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.CidrRange result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.CidrRange buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.CidrRange result = new io.grpc.xds.shaded.envoy.api.v2.core.CidrRange(this);
+ result.addressPrefix_ = addressPrefix_;
+ if (prefixLenBuilder_ == null) {
+ result.prefixLen_ = prefixLen_;
+ } else {
+ result.prefixLen_ = prefixLenBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.CidrRange) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.CidrRange)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.CidrRange other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.CidrRange.getDefaultInstance()) return this;
+ if (!other.getAddressPrefix().isEmpty()) {
+ addressPrefix_ = other.addressPrefix_;
+ onChanged();
+ }
+ if (other.hasPrefixLen()) {
+ mergePrefixLen(other.getPrefixLen());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.CidrRange parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.CidrRange) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object addressPrefix_ = "";
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getAddressPrefix() {
+ java.lang.Object ref = addressPrefix_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ addressPrefix_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getAddressPrefixBytes() {
+ java.lang.Object ref = addressPrefix_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ addressPrefix_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setAddressPrefix(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ addressPrefix_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearAddressPrefix() {
+
+ addressPrefix_ = getDefaultInstance().getAddressPrefix();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setAddressPrefixBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ addressPrefix_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value prefixLen_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> prefixLenBuilder_;
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasPrefixLen() {
+ return prefixLenBuilder_ != null || prefixLen_ != null;
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getPrefixLen() {
+ if (prefixLenBuilder_ == null) {
+ return prefixLen_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : prefixLen_;
+ } else {
+ return prefixLenBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPrefixLen(com.google.protobuf.UInt32Value value) {
+ if (prefixLenBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ prefixLen_ = value;
+ onChanged();
+ } else {
+ prefixLenBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPrefixLen(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (prefixLenBuilder_ == null) {
+ prefixLen_ = builderForValue.build();
+ onChanged();
+ } else {
+ prefixLenBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergePrefixLen(com.google.protobuf.UInt32Value value) {
+ if (prefixLenBuilder_ == null) {
+ if (prefixLen_ != null) {
+ prefixLen_ =
+ com.google.protobuf.UInt32Value.newBuilder(prefixLen_).mergeFrom(value).buildPartial();
+ } else {
+ prefixLen_ = value;
+ }
+ onChanged();
+ } else {
+ prefixLenBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearPrefixLen() {
+ if (prefixLenBuilder_ == null) {
+ prefixLen_ = null;
+ onChanged();
+ } else {
+ prefixLen_ = null;
+ prefixLenBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getPrefixLenBuilder() {
+
+ onChanged();
+ return getPrefixLenFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getPrefixLenOrBuilder() {
+ if (prefixLenBuilder_ != null) {
+ return prefixLenBuilder_.getMessageOrBuilder();
+ } else {
+ return prefixLen_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : prefixLen_;
+ }
+ }
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getPrefixLenFieldBuilder() {
+ if (prefixLenBuilder_ == null) {
+ prefixLenBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getPrefixLen(),
+ getParentForChildren(),
+ isClean());
+ prefixLen_ = null;
+ }
+ return prefixLenBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.CidrRange)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.CidrRange)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.CidrRange DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.CidrRange();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.CidrRange getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CidrRange>
+ PARSER = new com.google.protobuf.AbstractParser<CidrRange>() {
+ public CidrRange parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CidrRange(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CidrRange> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CidrRange> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.CidrRange getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/CidrRangeOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/CidrRangeOrBuilder.java
new file mode 100644
index 000000000..f0c524a6f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/CidrRangeOrBuilder.java
@@ -0,0 +1,52 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface CidrRangeOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.CidrRange)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getAddressPrefix();
+ /**
+ * <pre>
+ * IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ * </pre>
+ *
+ * <code>string address_prefix = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getAddressPrefixBytes();
+
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasPrefixLen();
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getPrefixLen();
+ /**
+ * <pre>
+ * Length of prefix, e.g. 0, 32.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value prefix_len = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getPrefixLenOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSource.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSource.java
new file mode 100644
index 000000000..83d49b68f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSource.java
@@ -0,0 +1,1215 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Configuration for :ref:`listeners &lt;config_listeners&gt;`, :ref:`clusters
+ * &lt;config_cluster_manager&gt;`, :ref:`routes
+ * &lt;envoy_api_msg_RouteConfiguration&gt;`, :ref:`endpoints
+ * &lt;arch_overview_service_discovery&gt;` etc. may either be sourced from the
+ * filesystem or from an xDS API source. Filesystem configs are watched with
+ * inotify for updates.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.ConfigSource}
+ */
+public final class ConfigSource extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.ConfigSource)
+ ConfigSourceOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use ConfigSource.newBuilder() to construct.
+ private ConfigSource(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ConfigSource() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ConfigSource(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+ configSourceSpecifierCase_ = 1;
+ configSourceSpecifier_ = s;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.Builder subBuilder = null;
+ if (configSourceSpecifierCase_ == 2) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_).toBuilder();
+ }
+ configSourceSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_);
+ configSourceSpecifier_ = subBuilder.buildPartial();
+ }
+ configSourceSpecifierCase_ = 2;
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.Builder subBuilder = null;
+ if (configSourceSpecifierCase_ == 3) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_).toBuilder();
+ }
+ configSourceSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_);
+ configSourceSpecifier_ = subBuilder.buildPartial();
+ }
+ configSourceSpecifierCase_ = 3;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ConfigSource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ConfigSource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.class, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder.class);
+ }
+
+ private int configSourceSpecifierCase_ = 0;
+ private java.lang.Object configSourceSpecifier_;
+ public enum ConfigSourceSpecifierCase
+ implements com.google.protobuf.Internal.EnumLite {
+ PATH(1),
+ API_CONFIG_SOURCE(2),
+ ADS(3),
+ CONFIGSOURCESPECIFIER_NOT_SET(0);
+ private final int value;
+ private ConfigSourceSpecifierCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ConfigSourceSpecifierCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static ConfigSourceSpecifierCase forNumber(int value) {
+ switch (value) {
+ case 1: return PATH;
+ case 2: return API_CONFIG_SOURCE;
+ case 3: return ADS;
+ case 0: return CONFIGSOURCESPECIFIER_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public ConfigSourceSpecifierCase
+ getConfigSourceSpecifierCase() {
+ return ConfigSourceSpecifierCase.forNumber(
+ configSourceSpecifierCase_);
+ }
+
+ public static final int PATH_FIELD_NUMBER = 1;
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ public java.lang.String getPath() {
+ java.lang.Object ref = "";
+ if (configSourceSpecifierCase_ == 1) {
+ ref = configSourceSpecifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (configSourceSpecifierCase_ == 1) {
+ configSourceSpecifier_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getPathBytes() {
+ java.lang.Object ref = "";
+ if (configSourceSpecifierCase_ == 1) {
+ ref = configSourceSpecifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (configSourceSpecifierCase_ == 1) {
+ configSourceSpecifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int API_CONFIG_SOURCE_FIELD_NUMBER = 2;
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public boolean hasApiConfigSource() {
+ return configSourceSpecifierCase_ == 2;
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource getApiConfigSource() {
+ if (configSourceSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSourceOrBuilder getApiConfigSourceOrBuilder() {
+ if (configSourceSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance();
+ }
+
+ public static final int ADS_FIELD_NUMBER = 3;
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public boolean hasAds() {
+ return configSourceSpecifierCase_ == 3;
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource getAds() {
+ if (configSourceSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSourceOrBuilder getAdsOrBuilder() {
+ if (configSourceSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (configSourceSpecifierCase_ == 1) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, configSourceSpecifier_);
+ }
+ if (configSourceSpecifierCase_ == 2) {
+ output.writeMessage(2, (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_);
+ }
+ if (configSourceSpecifierCase_ == 3) {
+ output.writeMessage(3, (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (configSourceSpecifierCase_ == 1) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, configSourceSpecifier_);
+ }
+ if (configSourceSpecifierCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_);
+ }
+ if (configSourceSpecifierCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource other = (io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource) obj;
+
+ boolean result = true;
+ result = result && getConfigSourceSpecifierCase().equals(
+ other.getConfigSourceSpecifierCase());
+ if (!result) return false;
+ switch (configSourceSpecifierCase_) {
+ case 1:
+ result = result && getPath()
+ .equals(other.getPath());
+ break;
+ case 2:
+ result = result && getApiConfigSource()
+ .equals(other.getApiConfigSource());
+ break;
+ case 3:
+ result = result && getAds()
+ .equals(other.getAds());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (configSourceSpecifierCase_) {
+ case 1:
+ hash = (37 * hash) + PATH_FIELD_NUMBER;
+ hash = (53 * hash) + getPath().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + API_CONFIG_SOURCE_FIELD_NUMBER;
+ hash = (53 * hash) + getApiConfigSource().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + ADS_FIELD_NUMBER;
+ hash = (53 * hash) + getAds().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Configuration for :ref:`listeners &lt;config_listeners&gt;`, :ref:`clusters
+ * &lt;config_cluster_manager&gt;`, :ref:`routes
+ * &lt;envoy_api_msg_RouteConfiguration&gt;`, :ref:`endpoints
+ * &lt;arch_overview_service_discovery&gt;` etc. may either be sourced from the
+ * filesystem or from an xDS API source. Filesystem configs are watched with
+ * inotify for updates.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.ConfigSource}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.ConfigSource)
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ConfigSource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ConfigSource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.class, io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ configSourceSpecifierCase_ = 0;
+ configSourceSpecifier_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_ConfigSource_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource result = new io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource(this);
+ if (configSourceSpecifierCase_ == 1) {
+ result.configSourceSpecifier_ = configSourceSpecifier_;
+ }
+ if (configSourceSpecifierCase_ == 2) {
+ if (apiConfigSourceBuilder_ == null) {
+ result.configSourceSpecifier_ = configSourceSpecifier_;
+ } else {
+ result.configSourceSpecifier_ = apiConfigSourceBuilder_.build();
+ }
+ }
+ if (configSourceSpecifierCase_ == 3) {
+ if (adsBuilder_ == null) {
+ result.configSourceSpecifier_ = configSourceSpecifier_;
+ } else {
+ result.configSourceSpecifier_ = adsBuilder_.build();
+ }
+ }
+ result.configSourceSpecifierCase_ = configSourceSpecifierCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.getDefaultInstance()) return this;
+ switch (other.getConfigSourceSpecifierCase()) {
+ case PATH: {
+ configSourceSpecifierCase_ = 1;
+ configSourceSpecifier_ = other.configSourceSpecifier_;
+ onChanged();
+ break;
+ }
+ case API_CONFIG_SOURCE: {
+ mergeApiConfigSource(other.getApiConfigSource());
+ break;
+ }
+ case ADS: {
+ mergeAds(other.getAds());
+ break;
+ }
+ case CONFIGSOURCESPECIFIER_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int configSourceSpecifierCase_ = 0;
+ private java.lang.Object configSourceSpecifier_;
+ public ConfigSourceSpecifierCase
+ getConfigSourceSpecifierCase() {
+ return ConfigSourceSpecifierCase.forNumber(
+ configSourceSpecifierCase_);
+ }
+
+ public Builder clearConfigSourceSpecifier() {
+ configSourceSpecifierCase_ = 0;
+ configSourceSpecifier_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ public java.lang.String getPath() {
+ java.lang.Object ref = "";
+ if (configSourceSpecifierCase_ == 1) {
+ ref = configSourceSpecifier_;
+ }
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (configSourceSpecifierCase_ == 1) {
+ configSourceSpecifier_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getPathBytes() {
+ java.lang.Object ref = "";
+ if (configSourceSpecifierCase_ == 1) {
+ ref = configSourceSpecifier_;
+ }
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (configSourceSpecifierCase_ == 1) {
+ configSourceSpecifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ public Builder setPath(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configSourceSpecifierCase_ = 1;
+ configSourceSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ public Builder clearPath() {
+ if (configSourceSpecifierCase_ == 1) {
+ configSourceSpecifierCase_ = 0;
+ configSourceSpecifier_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ public Builder setPathBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ configSourceSpecifierCase_ = 1;
+ configSourceSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSourceOrBuilder> apiConfigSourceBuilder_;
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public boolean hasApiConfigSource() {
+ return configSourceSpecifierCase_ == 2;
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource getApiConfigSource() {
+ if (apiConfigSourceBuilder_ == null) {
+ if (configSourceSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance();
+ } else {
+ if (configSourceSpecifierCase_ == 2) {
+ return apiConfigSourceBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public Builder setApiConfigSource(io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource value) {
+ if (apiConfigSourceBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configSourceSpecifier_ = value;
+ onChanged();
+ } else {
+ apiConfigSourceBuilder_.setMessage(value);
+ }
+ configSourceSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public Builder setApiConfigSource(
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.Builder builderForValue) {
+ if (apiConfigSourceBuilder_ == null) {
+ configSourceSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ apiConfigSourceBuilder_.setMessage(builderForValue.build());
+ }
+ configSourceSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public Builder mergeApiConfigSource(io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource value) {
+ if (apiConfigSourceBuilder_ == null) {
+ if (configSourceSpecifierCase_ == 2 &&
+ configSourceSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance()) {
+ configSourceSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ configSourceSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (configSourceSpecifierCase_ == 2) {
+ apiConfigSourceBuilder_.mergeFrom(value);
+ }
+ apiConfigSourceBuilder_.setMessage(value);
+ }
+ configSourceSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public Builder clearApiConfigSource() {
+ if (apiConfigSourceBuilder_ == null) {
+ if (configSourceSpecifierCase_ == 2) {
+ configSourceSpecifierCase_ = 0;
+ configSourceSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (configSourceSpecifierCase_ == 2) {
+ configSourceSpecifierCase_ = 0;
+ configSourceSpecifier_ = null;
+ }
+ apiConfigSourceBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.Builder getApiConfigSourceBuilder() {
+ return getApiConfigSourceFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSourceOrBuilder getApiConfigSourceOrBuilder() {
+ if ((configSourceSpecifierCase_ == 2) && (apiConfigSourceBuilder_ != null)) {
+ return apiConfigSourceBuilder_.getMessageOrBuilder();
+ } else {
+ if (configSourceSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSourceOrBuilder>
+ getApiConfigSourceFieldBuilder() {
+ if (apiConfigSourceBuilder_ == null) {
+ if (!(configSourceSpecifierCase_ == 2)) {
+ configSourceSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.getDefaultInstance();
+ }
+ apiConfigSourceBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSourceOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource) configSourceSpecifier_,
+ getParentForChildren(),
+ isClean());
+ configSourceSpecifier_ = null;
+ }
+ configSourceSpecifierCase_ = 2;
+ onChanged();;
+ return apiConfigSourceBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSourceOrBuilder> adsBuilder_;
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public boolean hasAds() {
+ return configSourceSpecifierCase_ == 3;
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource getAds() {
+ if (adsBuilder_ == null) {
+ if (configSourceSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance();
+ } else {
+ if (configSourceSpecifierCase_ == 3) {
+ return adsBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public Builder setAds(io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource value) {
+ if (adsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configSourceSpecifier_ = value;
+ onChanged();
+ } else {
+ adsBuilder_.setMessage(value);
+ }
+ configSourceSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public Builder setAds(
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.Builder builderForValue) {
+ if (adsBuilder_ == null) {
+ configSourceSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ adsBuilder_.setMessage(builderForValue.build());
+ }
+ configSourceSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public Builder mergeAds(io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource value) {
+ if (adsBuilder_ == null) {
+ if (configSourceSpecifierCase_ == 3 &&
+ configSourceSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance()) {
+ configSourceSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ configSourceSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (configSourceSpecifierCase_ == 3) {
+ adsBuilder_.mergeFrom(value);
+ }
+ adsBuilder_.setMessage(value);
+ }
+ configSourceSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public Builder clearAds() {
+ if (adsBuilder_ == null) {
+ if (configSourceSpecifierCase_ == 3) {
+ configSourceSpecifierCase_ = 0;
+ configSourceSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (configSourceSpecifierCase_ == 3) {
+ configSourceSpecifierCase_ = 0;
+ configSourceSpecifier_ = null;
+ }
+ adsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.Builder getAdsBuilder() {
+ return getAdsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSourceOrBuilder getAdsOrBuilder() {
+ if ((configSourceSpecifierCase_ == 3) && (adsBuilder_ != null)) {
+ return adsBuilder_.getMessageOrBuilder();
+ } else {
+ if (configSourceSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSourceOrBuilder>
+ getAdsFieldBuilder() {
+ if (adsBuilder_ == null) {
+ if (!(configSourceSpecifierCase_ == 3)) {
+ configSourceSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.getDefaultInstance();
+ }
+ adsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource, io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSourceOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource) configSourceSpecifier_,
+ getParentForChildren(),
+ isClean());
+ configSourceSpecifier_ = null;
+ }
+ configSourceSpecifierCase_ = 3;
+ onChanged();;
+ return adsBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.ConfigSource)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.ConfigSource)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ConfigSource>
+ PARSER = new com.google.protobuf.AbstractParser<ConfigSource>() {
+ public ConfigSource parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ConfigSource(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ConfigSource> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ConfigSource> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSourceOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSourceOrBuilder.java
new file mode 100644
index 000000000..b4e787a15
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSourceOrBuilder.java
@@ -0,0 +1,94 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface ConfigSourceOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.ConfigSource)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ java.lang.String getPath();
+ /**
+ * <pre>
+ * Path on the filesystem to source and watch for configuration updates.
+ * .. note::
+ * The path to the source must exist at config load time.
+ * .. note::
+ * Envoy will only watch the file path for *moves.* This is because in general only moves
+ * are atomic. The same method of swapping files as is demonstrated in the
+ * :ref:`runtime documentation &lt;config_runtime_symbolic_link_swap&gt;` can be used here also.
+ * </pre>
+ *
+ * <code>string path = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getPathBytes();
+
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ boolean hasApiConfigSource();
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSource getApiConfigSource();
+ /**
+ * <pre>
+ * API configuration source.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.ApiConfigSource api_config_source = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.ApiConfigSourceOrBuilder getApiConfigSourceOrBuilder();
+
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ boolean hasAds();
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSource getAds();
+ /**
+ * <pre>
+ * When set, ADS will be used to fetch resources. The ADS API configuration
+ * source in the bootstrap configuration is used.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.AggregatedConfigSource ads = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.AggregatedConfigSourceOrBuilder getAdsOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.ConfigSource.ConfigSourceSpecifierCase getConfigSourceSpecifierCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSourceOuterClass.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSourceOuterClass.java
new file mode 100644
index 000000000..0a8c84e85
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/ConfigSourceOuterClass.java
@@ -0,0 +1,125 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public final class ConfigSourceOuterClass {
+ private ConfigSourceOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_ApiConfigSource_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_ApiConfigSource_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_AggregatedConfigSource_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_AggregatedConfigSource_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_RateLimitSettings_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_RateLimitSettings_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_ConfigSource_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_ConfigSource_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n%envoy/api/v2/core/config_source.proto\022" +
+ "\021envoy.api.v2.core\032$envoy/api/v2/core/gr" +
+ "pc_service.proto\032\036google/protobuf/durati" +
+ "on.proto\032\036google/protobuf/wrappers.proto" +
+ "\032\027validate/validate.proto\"\224\003\n\017ApiConfigS" +
+ "ource\022H\n\010api_type\030\001 \001(\0162*.envoy.api.v2.c" +
+ "ore.ApiConfigSource.ApiTypeB\n\272\351\300\003\005\202\001\002\020\001\022" +
+ "\025\n\rcluster_names\030\002 \003(\t\0225\n\rgrpc_services\030" +
+ "\004 \003(\0132\036.envoy.api.v2.core.GrpcService\0220\n" +
+ "\rrefresh_delay\030\003 \001(\0132\031.google.protobuf.D" +
+ "uration\022@\n\017request_timeout\030\005 \001(\0132\031.googl" +
+ "e.protobuf.DurationB\014\272\351\300\003\007\252\001\004*\002\010\000\022A\n\023rat" +
+ "e_limit_settings\030\006 \001(\0132$.envoy.api.v2.co" +
+ "re.RateLimitSettings\"2\n\007ApiType\022\023\n\013REST_" +
+ "LEGACY\020\000\032\002\010\001\022\010\n\004REST\020\001\022\010\n\004GRPC\020\002\"\030\n\026Aggr" +
+ "egatedConfigSource\"\210\001\n\021RateLimitSettings" +
+ "\0220\n\nmax_tokens\030\001 \001(\0132\034.google.protobuf.U" +
+ "Int32Value\022A\n\tfill_rate\030\002 \001(\0132\034.google.p" +
+ "rotobuf.DoubleValueB\020\272\351\300\003\013\022\t!\000\000\000\000\000\000\000\000\"\273\001" +
+ "\n\014ConfigSource\022\016\n\004path\030\001 \001(\tH\000\022?\n\021api_co" +
+ "nfig_source\030\002 \001(\0132\".envoy.api.v2.core.Ap" +
+ "iConfigSourceH\000\0228\n\003ads\030\003 \001(\0132).envoy.api" +
+ ".v2.core.AggregatedConfigSourceH\000B \n\027con" +
+ "fig_source_specifier\022\005\270\351\300\003\001B(\n$io.grpc.x" +
+ "ds.shaded.envoy.api.v2.coreP\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.getDescriptor(),
+ com.google.protobuf.DurationProto.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_core_ApiConfigSource_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_core_ApiConfigSource_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_ApiConfigSource_descriptor,
+ new java.lang.String[] { "ApiType", "ClusterNames", "GrpcServices", "RefreshDelay", "RequestTimeout", "RateLimitSettings", });
+ internal_static_envoy_api_v2_core_AggregatedConfigSource_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_core_AggregatedConfigSource_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_AggregatedConfigSource_descriptor,
+ new java.lang.String[] { });
+ internal_static_envoy_api_v2_core_RateLimitSettings_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_core_RateLimitSettings_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_RateLimitSettings_descriptor,
+ new java.lang.String[] { "MaxTokens", "FillRate", });
+ internal_static_envoy_api_v2_core_ConfigSource_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_envoy_api_v2_core_ConfigSource_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_ConfigSource_descriptor,
+ new java.lang.String[] { "Path", "ApiConfigSource", "Ads", "ConfigSourceSpecifier", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.required);
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.getDescriptor();
+ com.google.protobuf.DurationProto.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/DataSource.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/DataSource.java
new file mode 100644
index 000000000..45cbd08e5
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/DataSource.java
@@ -0,0 +1,920 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Data source consisting of either a file or an inline value.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.DataSource}
+ */
+public final class DataSource extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.DataSource)
+ DataSourceOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use DataSource.newBuilder() to construct.
+ private DataSource(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DataSource() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DataSource(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+ specifierCase_ = 1;
+ specifier_ = s;
+ break;
+ }
+ case 18: {
+ specifierCase_ = 2;
+ specifier_ = input.readBytes();
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+ specifierCase_ = 3;
+ specifier_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_DataSource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_DataSource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.class, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder.class);
+ }
+
+ private int specifierCase_ = 0;
+ private java.lang.Object specifier_;
+ public enum SpecifierCase
+ implements com.google.protobuf.Internal.EnumLite {
+ FILENAME(1),
+ INLINE_BYTES(2),
+ INLINE_STRING(3),
+ SPECIFIER_NOT_SET(0);
+ private final int value;
+ private SpecifierCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static SpecifierCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static SpecifierCase forNumber(int value) {
+ switch (value) {
+ case 1: return FILENAME;
+ case 2: return INLINE_BYTES;
+ case 3: return INLINE_STRING;
+ case 0: return SPECIFIER_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public SpecifierCase
+ getSpecifierCase() {
+ return SpecifierCase.forNumber(
+ specifierCase_);
+ }
+
+ public static final int FILENAME_FIELD_NUMBER = 1;
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getFilename() {
+ java.lang.Object ref = "";
+ if (specifierCase_ == 1) {
+ ref = specifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (specifierCase_ == 1) {
+ specifier_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getFilenameBytes() {
+ java.lang.Object ref = "";
+ if (specifierCase_ == 1) {
+ ref = specifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (specifierCase_ == 1) {
+ specifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int INLINE_BYTES_FIELD_NUMBER = 2;
+ /**
+ * <pre>
+ * Bytes inlined in the configuration.
+ * </pre>
+ *
+ * <code>bytes inline_bytes = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString getInlineBytes() {
+ if (specifierCase_ == 2) {
+ return (com.google.protobuf.ByteString) specifier_;
+ }
+ return com.google.protobuf.ByteString.EMPTY;
+ }
+
+ public static final int INLINE_STRING_FIELD_NUMBER = 3;
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getInlineString() {
+ java.lang.Object ref = "";
+ if (specifierCase_ == 3) {
+ ref = specifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (specifierCase_ == 3) {
+ specifier_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getInlineStringBytes() {
+ java.lang.Object ref = "";
+ if (specifierCase_ == 3) {
+ ref = specifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (specifierCase_ == 3) {
+ specifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (specifierCase_ == 1) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, specifier_);
+ }
+ if (specifierCase_ == 2) {
+ output.writeBytes(
+ 2, (com.google.protobuf.ByteString) specifier_);
+ }
+ if (specifierCase_ == 3) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, specifier_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (specifierCase_ == 1) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, specifier_);
+ }
+ if (specifierCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(
+ 2, (com.google.protobuf.ByteString) specifier_);
+ }
+ if (specifierCase_ == 3) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, specifier_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.DataSource)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource other = (io.grpc.xds.shaded.envoy.api.v2.core.DataSource) obj;
+
+ boolean result = true;
+ result = result && getSpecifierCase().equals(
+ other.getSpecifierCase());
+ if (!result) return false;
+ switch (specifierCase_) {
+ case 1:
+ result = result && getFilename()
+ .equals(other.getFilename());
+ break;
+ case 2:
+ result = result && getInlineBytes()
+ .equals(other.getInlineBytes());
+ break;
+ case 3:
+ result = result && getInlineString()
+ .equals(other.getInlineString());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (specifierCase_) {
+ case 1:
+ hash = (37 * hash) + FILENAME_FIELD_NUMBER;
+ hash = (53 * hash) + getFilename().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + INLINE_BYTES_FIELD_NUMBER;
+ hash = (53 * hash) + getInlineBytes().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + INLINE_STRING_FIELD_NUMBER;
+ hash = (53 * hash) + getInlineString().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.DataSource prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Data source consisting of either a file or an inline value.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.DataSource}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.DataSource)
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_DataSource_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_DataSource_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.class, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ specifierCase_ = 0;
+ specifier_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_DataSource_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource result = new io.grpc.xds.shaded.envoy.api.v2.core.DataSource(this);
+ if (specifierCase_ == 1) {
+ result.specifier_ = specifier_;
+ }
+ if (specifierCase_ == 2) {
+ result.specifier_ = specifier_;
+ }
+ if (specifierCase_ == 3) {
+ result.specifier_ = specifier_;
+ }
+ result.specifierCase_ = specifierCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.DataSource) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.DataSource)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.DataSource other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance()) return this;
+ switch (other.getSpecifierCase()) {
+ case FILENAME: {
+ specifierCase_ = 1;
+ specifier_ = other.specifier_;
+ onChanged();
+ break;
+ }
+ case INLINE_BYTES: {
+ setInlineBytes(other.getInlineBytes());
+ break;
+ }
+ case INLINE_STRING: {
+ specifierCase_ = 3;
+ specifier_ = other.specifier_;
+ onChanged();
+ break;
+ }
+ case SPECIFIER_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.DataSource) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int specifierCase_ = 0;
+ private java.lang.Object specifier_;
+ public SpecifierCase
+ getSpecifierCase() {
+ return SpecifierCase.forNumber(
+ specifierCase_);
+ }
+
+ public Builder clearSpecifier() {
+ specifierCase_ = 0;
+ specifier_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getFilename() {
+ java.lang.Object ref = "";
+ if (specifierCase_ == 1) {
+ ref = specifier_;
+ }
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (specifierCase_ == 1) {
+ specifier_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getFilenameBytes() {
+ java.lang.Object ref = "";
+ if (specifierCase_ == 1) {
+ ref = specifier_;
+ }
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (specifierCase_ == 1) {
+ specifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setFilename(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ specifierCase_ = 1;
+ specifier_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearFilename() {
+ if (specifierCase_ == 1) {
+ specifierCase_ = 0;
+ specifier_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setFilenameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ specifierCase_ = 1;
+ specifier_ = value;
+ onChanged();
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Bytes inlined in the configuration.
+ * </pre>
+ *
+ * <code>bytes inline_bytes = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString getInlineBytes() {
+ if (specifierCase_ == 2) {
+ return (com.google.protobuf.ByteString) specifier_;
+ }
+ return com.google.protobuf.ByteString.EMPTY;
+ }
+ /**
+ * <pre>
+ * Bytes inlined in the configuration.
+ * </pre>
+ *
+ * <code>bytes inline_bytes = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInlineBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ specifierCase_ = 2;
+ specifier_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Bytes inlined in the configuration.
+ * </pre>
+ *
+ * <code>bytes inline_bytes = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearInlineBytes() {
+ if (specifierCase_ == 2) {
+ specifierCase_ = 0;
+ specifier_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getInlineString() {
+ java.lang.Object ref = "";
+ if (specifierCase_ == 3) {
+ ref = specifier_;
+ }
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (specifierCase_ == 3) {
+ specifier_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getInlineStringBytes() {
+ java.lang.Object ref = "";
+ if (specifierCase_ == 3) {
+ ref = specifier_;
+ }
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (specifierCase_ == 3) {
+ specifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInlineString(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ specifierCase_ = 3;
+ specifier_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearInlineString() {
+ if (specifierCase_ == 3) {
+ specifierCase_ = 0;
+ specifier_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInlineStringBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ specifierCase_ = 3;
+ specifier_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.DataSource)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.DataSource)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.DataSource DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.DataSource();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.DataSource getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DataSource>
+ PARSER = new com.google.protobuf.AbstractParser<DataSource>() {
+ public DataSource parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DataSource(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DataSource> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DataSource> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/DataSourceOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/DataSourceOrBuilder.java
new file mode 100644
index 000000000..984083821
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/DataSourceOrBuilder.java
@@ -0,0 +1,56 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface DataSourceOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.DataSource)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getFilename();
+ /**
+ * <pre>
+ * Local filesystem data source.
+ * </pre>
+ *
+ * <code>string filename = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getFilenameBytes();
+
+ /**
+ * <pre>
+ * Bytes inlined in the configuration.
+ * </pre>
+ *
+ * <code>bytes inline_bytes = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString getInlineBytes();
+
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getInlineString();
+ /**
+ * <pre>
+ * String inlined in the configuration.
+ * </pre>
+ *
+ * <code>string inline_string = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getInlineStringBytes();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.SpecifierCase getSpecifierCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcProtocolOptions.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcProtocolOptions.java
new file mode 100644
index 000000000..c14c5fbb6
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcProtocolOptions.java
@@ -0,0 +1,578 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcProtocolOptions}
+ */
+public final class GrpcProtocolOptions extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcProtocolOptions)
+ GrpcProtocolOptionsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use GrpcProtocolOptions.newBuilder() to construct.
+ private GrpcProtocolOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private GrpcProtocolOptions() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private GrpcProtocolOptions(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder subBuilder = null;
+ if (http2ProtocolOptions_ != null) {
+ subBuilder = http2ProtocolOptions_.toBuilder();
+ }
+ http2ProtocolOptions_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(http2ProtocolOptions_);
+ http2ProtocolOptions_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_GrpcProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_GrpcProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions.Builder.class);
+ }
+
+ public static final int HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions http2ProtocolOptions_;
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public boolean hasHttp2ProtocolOptions() {
+ return http2ProtocolOptions_ != null;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getHttp2ProtocolOptions() {
+ return http2ProtocolOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() {
+ return getHttp2ProtocolOptions();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (http2ProtocolOptions_ != null) {
+ output.writeMessage(1, getHttp2ProtocolOptions());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (http2ProtocolOptions_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getHttp2ProtocolOptions());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions) obj;
+
+ boolean result = true;
+ result = result && (hasHttp2ProtocolOptions() == other.hasHttp2ProtocolOptions());
+ if (hasHttp2ProtocolOptions()) {
+ result = result && getHttp2ProtocolOptions()
+ .equals(other.getHttp2ProtocolOptions());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasHttp2ProtocolOptions()) {
+ hash = (37 * hash) + HTTP2_PROTOCOL_OPTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + getHttp2ProtocolOptions().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcProtocolOptions}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcProtocolOptions)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptionsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_GrpcProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_GrpcProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (http2ProtocolOptionsBuilder_ == null) {
+ http2ProtocolOptions_ = null;
+ } else {
+ http2ProtocolOptions_ = null;
+ http2ProtocolOptionsBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_GrpcProtocolOptions_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions(this);
+ if (http2ProtocolOptionsBuilder_ == null) {
+ result.http2ProtocolOptions_ = http2ProtocolOptions_;
+ } else {
+ result.http2ProtocolOptions_ = http2ProtocolOptionsBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions.getDefaultInstance()) return this;
+ if (other.hasHttp2ProtocolOptions()) {
+ mergeHttp2ProtocolOptions(other.getHttp2ProtocolOptions());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions http2ProtocolOptions_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder> http2ProtocolOptionsBuilder_;
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public boolean hasHttp2ProtocolOptions() {
+ return http2ProtocolOptionsBuilder_ != null || http2ProtocolOptions_ != null;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getHttp2ProtocolOptions() {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ return http2ProtocolOptions_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_;
+ } else {
+ return http2ProtocolOptionsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public Builder setHttp2ProtocolOptions(io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions value) {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ http2ProtocolOptions_ = value;
+ onChanged();
+ } else {
+ http2ProtocolOptionsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public Builder setHttp2ProtocolOptions(
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder builderForValue) {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ http2ProtocolOptions_ = builderForValue.build();
+ onChanged();
+ } else {
+ http2ProtocolOptionsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public Builder mergeHttp2ProtocolOptions(io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions value) {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ if (http2ProtocolOptions_ != null) {
+ http2ProtocolOptions_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.newBuilder(http2ProtocolOptions_).mergeFrom(value).buildPartial();
+ } else {
+ http2ProtocolOptions_ = value;
+ }
+ onChanged();
+ } else {
+ http2ProtocolOptionsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public Builder clearHttp2ProtocolOptions() {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ http2ProtocolOptions_ = null;
+ onChanged();
+ } else {
+ http2ProtocolOptions_ = null;
+ http2ProtocolOptionsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder getHttp2ProtocolOptionsBuilder() {
+
+ onChanged();
+ return getHttp2ProtocolOptionsFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder() {
+ if (http2ProtocolOptionsBuilder_ != null) {
+ return http2ProtocolOptionsBuilder_.getMessageOrBuilder();
+ } else {
+ return http2ProtocolOptions_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.getDefaultInstance() : http2ProtocolOptions_;
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder>
+ getHttp2ProtocolOptionsFieldBuilder() {
+ if (http2ProtocolOptionsBuilder_ == null) {
+ http2ProtocolOptionsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder>(
+ getHttp2ProtocolOptions(),
+ getParentForChildren(),
+ isClean());
+ http2ProtocolOptions_ = null;
+ }
+ return http2ProtocolOptionsBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcProtocolOptions)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcProtocolOptions)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<GrpcProtocolOptions>
+ PARSER = new com.google.protobuf.AbstractParser<GrpcProtocolOptions>() {
+ public GrpcProtocolOptions parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new GrpcProtocolOptions(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<GrpcProtocolOptions> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<GrpcProtocolOptions> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcProtocolOptions getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcProtocolOptionsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcProtocolOptionsOrBuilder.java
new file mode 100644
index 000000000..488e1b08c
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcProtocolOptionsOrBuilder.java
@@ -0,0 +1,22 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface GrpcProtocolOptionsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcProtocolOptions)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ boolean hasHttp2ProtocolOptions();
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getHttp2ProtocolOptions();
+ /**
+ * <code>.envoy.api.v2.core.Http2ProtocolOptions http2_protocol_options = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder getHttp2ProtocolOptionsOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcService.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcService.java
new file mode 100644
index 000000000..8fbeef203
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcService.java
@@ -0,0 +1,11438 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/grpc_service.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * gRPC service configuration. This is used by :ref:`ApiConfigSource
+ * &lt;envoy_api_msg_core.ApiConfigSource&gt;` and filter configurations.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService}
+ */
+public final class GrpcService extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService)
+ GrpcServiceOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use GrpcService.newBuilder() to construct.
+ private GrpcService(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private GrpcService() {
+ initialMetadata_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private GrpcService(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.Builder subBuilder = null;
+ if (targetSpecifierCase_ == 1) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_).toBuilder();
+ }
+ targetSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_);
+ targetSpecifier_ = subBuilder.buildPartial();
+ }
+ targetSpecifierCase_ = 1;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.Builder subBuilder = null;
+ if (targetSpecifierCase_ == 2) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_).toBuilder();
+ }
+ targetSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_);
+ targetSpecifier_ = subBuilder.buildPartial();
+ }
+ targetSpecifierCase_ = 2;
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (timeout_ != null) {
+ subBuilder = timeout_.toBuilder();
+ }
+ timeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(timeout_);
+ timeout_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ initialMetadata_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue>();
+ mutable_bitField0_ |= 0x00000008;
+ }
+ initialMetadata_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ initialMetadata_ = java.util.Collections.unmodifiableList(initialMetadata_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder.class);
+ }
+
+ public interface EnvoyGrpcOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.EnvoyGrpc)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getClusterName();
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getClusterNameBytes();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.EnvoyGrpc}
+ */
+ public static final class EnvoyGrpc extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.EnvoyGrpc)
+ EnvoyGrpcOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use EnvoyGrpc.newBuilder() to construct.
+ private EnvoyGrpc(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private EnvoyGrpc() {
+ clusterName_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private EnvoyGrpc(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ clusterName_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.Builder.class);
+ }
+
+ public static final int CLUSTER_NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object clusterName_;
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getClusterName() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ clusterName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterNameBytes() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ clusterName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getClusterNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterName_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getClusterNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterName_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) obj;
+
+ boolean result = true;
+ result = result && getClusterName()
+ .equals(other.getClusterName());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + CLUSTER_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getClusterName().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.EnvoyGrpc}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.EnvoyGrpc)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpcOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ clusterName_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc(this);
+ result.clusterName_ = clusterName_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance()) return this;
+ if (!other.getClusterName().isEmpty()) {
+ clusterName_ = other.clusterName_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object clusterName_ = "";
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getClusterName() {
+ java.lang.Object ref = clusterName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ clusterName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterNameBytes() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ clusterName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setClusterName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ clusterName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearClusterName() {
+
+ clusterName_ = getDefaultInstance().getClusterName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the upstream gRPC cluster. SSL credentials will be supplied
+ * in the :ref:`Cluster &lt;envoy_api_msg_Cluster&gt;` :ref:`tls_context
+ * &lt;envoy_api_field_Cluster.tls_context&gt;`.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setClusterNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ clusterName_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.EnvoyGrpc)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.EnvoyGrpc)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<EnvoyGrpc>
+ PARSER = new com.google.protobuf.AbstractParser<EnvoyGrpc>() {
+ public EnvoyGrpc parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new EnvoyGrpc(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<EnvoyGrpc> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<EnvoyGrpc> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface GoogleGrpcOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.GoogleGrpc)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getTargetUri();
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getTargetUriBytes();
+
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ boolean hasChannelCredentials();
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials getChannelCredentials();
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentialsOrBuilder getChannelCredentialsOrBuilder();
+
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials>
+ getCallCredentialsList();
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials getCallCredentials(int index);
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ int getCallCredentialsCount();
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder>
+ getCallCredentialsOrBuilderList();
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder getCallCredentialsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getStatPrefix();
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getStatPrefixBytes();
+
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ java.lang.String getCredentialsFactoryName();
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ com.google.protobuf.ByteString
+ getCredentialsFactoryNameBytes();
+
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ boolean hasConfig();
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ com.google.protobuf.Struct getConfig();
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ com.google.protobuf.StructOrBuilder getConfigOrBuilder();
+ }
+ /**
+ * <pre>
+ * [#proto-status: draft]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc}
+ */
+ public static final class GoogleGrpc extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.GoogleGrpc)
+ GoogleGrpcOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use GoogleGrpc.newBuilder() to construct.
+ private GoogleGrpc(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private GoogleGrpc() {
+ targetUri_ = "";
+ callCredentials_ = java.util.Collections.emptyList();
+ statPrefix_ = "";
+ credentialsFactoryName_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private GoogleGrpc(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ targetUri_ = s;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.Builder subBuilder = null;
+ if (channelCredentials_ != null) {
+ subBuilder = channelCredentials_.toBuilder();
+ }
+ channelCredentials_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(channelCredentials_);
+ channelCredentials_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ callCredentials_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials>();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ callCredentials_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.parser(), extensionRegistry));
+ break;
+ }
+ case 34: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ statPrefix_ = s;
+ break;
+ }
+ case 42: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ credentialsFactoryName_ = s;
+ break;
+ }
+ case 50: {
+ com.google.protobuf.Struct.Builder subBuilder = null;
+ if (config_ != null) {
+ subBuilder = config_.toBuilder();
+ }
+ config_ = input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(config_);
+ config_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ callCredentials_ = java.util.Collections.unmodifiableList(callCredentials_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.Builder.class);
+ }
+
+ public interface SslCredentialsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ boolean hasRootCerts();
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getRootCerts();
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getRootCertsOrBuilder();
+
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ boolean hasPrivateKey();
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPrivateKey();
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPrivateKeyOrBuilder();
+
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ boolean hasCertChain();
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCertChain();
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCertChainOrBuilder();
+ }
+ /**
+ * <pre>
+ * See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials}
+ */
+ public static final class SslCredentials extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials)
+ SslCredentialsOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use SslCredentials.newBuilder() to construct.
+ private SslCredentials(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private SslCredentials() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SslCredentials(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (rootCerts_ != null) {
+ subBuilder = rootCerts_.toBuilder();
+ }
+ rootCerts_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(rootCerts_);
+ rootCerts_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (privateKey_ != null) {
+ subBuilder = privateKey_.toBuilder();
+ }
+ privateKey_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(privateKey_);
+ privateKey_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder subBuilder = null;
+ if (certChain_ != null) {
+ subBuilder = certChain_.toBuilder();
+ }
+ certChain_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.DataSource.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(certChain_);
+ certChain_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.Builder.class);
+ }
+
+ public static final int ROOT_CERTS_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource rootCerts_;
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public boolean hasRootCerts() {
+ return rootCerts_ != null;
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getRootCerts() {
+ return rootCerts_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : rootCerts_;
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getRootCertsOrBuilder() {
+ return getRootCerts();
+ }
+
+ public static final int PRIVATE_KEY_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource privateKey_;
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public boolean hasPrivateKey() {
+ return privateKey_ != null;
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPrivateKey() {
+ return privateKey_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : privateKey_;
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPrivateKeyOrBuilder() {
+ return getPrivateKey();
+ }
+
+ public static final int CERT_CHAIN_FIELD_NUMBER = 3;
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource certChain_;
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public boolean hasCertChain() {
+ return certChain_ != null;
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCertChain() {
+ return certChain_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : certChain_;
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCertChainOrBuilder() {
+ return getCertChain();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (rootCerts_ != null) {
+ output.writeMessage(1, getRootCerts());
+ }
+ if (privateKey_ != null) {
+ output.writeMessage(2, getPrivateKey());
+ }
+ if (certChain_ != null) {
+ output.writeMessage(3, getCertChain());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (rootCerts_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getRootCerts());
+ }
+ if (privateKey_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getPrivateKey());
+ }
+ if (certChain_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getCertChain());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) obj;
+
+ boolean result = true;
+ result = result && (hasRootCerts() == other.hasRootCerts());
+ if (hasRootCerts()) {
+ result = result && getRootCerts()
+ .equals(other.getRootCerts());
+ }
+ result = result && (hasPrivateKey() == other.hasPrivateKey());
+ if (hasPrivateKey()) {
+ result = result && getPrivateKey()
+ .equals(other.getPrivateKey());
+ }
+ result = result && (hasCertChain() == other.hasCertChain());
+ if (hasCertChain()) {
+ result = result && getCertChain()
+ .equals(other.getCertChain());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasRootCerts()) {
+ hash = (37 * hash) + ROOT_CERTS_FIELD_NUMBER;
+ hash = (53 * hash) + getRootCerts().hashCode();
+ }
+ if (hasPrivateKey()) {
+ hash = (37 * hash) + PRIVATE_KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getPrivateKey().hashCode();
+ }
+ if (hasCertChain()) {
+ hash = (37 * hash) + CERT_CHAIN_FIELD_NUMBER;
+ hash = (53 * hash) + getCertChain().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentialsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (rootCertsBuilder_ == null) {
+ rootCerts_ = null;
+ } else {
+ rootCerts_ = null;
+ rootCertsBuilder_ = null;
+ }
+ if (privateKeyBuilder_ == null) {
+ privateKey_ = null;
+ } else {
+ privateKey_ = null;
+ privateKeyBuilder_ = null;
+ }
+ if (certChainBuilder_ == null) {
+ certChain_ = null;
+ } else {
+ certChain_ = null;
+ certChainBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials(this);
+ if (rootCertsBuilder_ == null) {
+ result.rootCerts_ = rootCerts_;
+ } else {
+ result.rootCerts_ = rootCertsBuilder_.build();
+ }
+ if (privateKeyBuilder_ == null) {
+ result.privateKey_ = privateKey_;
+ } else {
+ result.privateKey_ = privateKeyBuilder_.build();
+ }
+ if (certChainBuilder_ == null) {
+ result.certChain_ = certChain_;
+ } else {
+ result.certChain_ = certChainBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance()) return this;
+ if (other.hasRootCerts()) {
+ mergeRootCerts(other.getRootCerts());
+ }
+ if (other.hasPrivateKey()) {
+ mergePrivateKey(other.getPrivateKey());
+ }
+ if (other.hasCertChain()) {
+ mergeCertChain(other.getCertChain());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource rootCerts_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> rootCertsBuilder_;
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public boolean hasRootCerts() {
+ return rootCertsBuilder_ != null || rootCerts_ != null;
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getRootCerts() {
+ if (rootCertsBuilder_ == null) {
+ return rootCerts_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : rootCerts_;
+ } else {
+ return rootCertsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public Builder setRootCerts(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (rootCertsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ rootCerts_ = value;
+ onChanged();
+ } else {
+ rootCertsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public Builder setRootCerts(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (rootCertsBuilder_ == null) {
+ rootCerts_ = builderForValue.build();
+ onChanged();
+ } else {
+ rootCertsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public Builder mergeRootCerts(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (rootCertsBuilder_ == null) {
+ if (rootCerts_ != null) {
+ rootCerts_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(rootCerts_).mergeFrom(value).buildPartial();
+ } else {
+ rootCerts_ = value;
+ }
+ onChanged();
+ } else {
+ rootCertsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public Builder clearRootCerts() {
+ if (rootCertsBuilder_ == null) {
+ rootCerts_ = null;
+ onChanged();
+ } else {
+ rootCerts_ = null;
+ rootCertsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getRootCertsBuilder() {
+
+ onChanged();
+ return getRootCertsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getRootCertsOrBuilder() {
+ if (rootCertsBuilder_ != null) {
+ return rootCertsBuilder_.getMessageOrBuilder();
+ } else {
+ return rootCerts_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : rootCerts_;
+ }
+ }
+ /**
+ * <pre>
+ * PEM encoded server root certificates.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource root_certs = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getRootCertsFieldBuilder() {
+ if (rootCertsBuilder_ == null) {
+ rootCertsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getRootCerts(),
+ getParentForChildren(),
+ isClean());
+ rootCerts_ = null;
+ }
+ return rootCertsBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource privateKey_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> privateKeyBuilder_;
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public boolean hasPrivateKey() {
+ return privateKeyBuilder_ != null || privateKey_ != null;
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getPrivateKey() {
+ if (privateKeyBuilder_ == null) {
+ return privateKey_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : privateKey_;
+ } else {
+ return privateKeyBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public Builder setPrivateKey(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (privateKeyBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ privateKey_ = value;
+ onChanged();
+ } else {
+ privateKeyBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public Builder setPrivateKey(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (privateKeyBuilder_ == null) {
+ privateKey_ = builderForValue.build();
+ onChanged();
+ } else {
+ privateKeyBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public Builder mergePrivateKey(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (privateKeyBuilder_ == null) {
+ if (privateKey_ != null) {
+ privateKey_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(privateKey_).mergeFrom(value).buildPartial();
+ } else {
+ privateKey_ = value;
+ }
+ onChanged();
+ } else {
+ privateKeyBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public Builder clearPrivateKey() {
+ if (privateKeyBuilder_ == null) {
+ privateKey_ = null;
+ onChanged();
+ } else {
+ privateKey_ = null;
+ privateKeyBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getPrivateKeyBuilder() {
+
+ onChanged();
+ return getPrivateKeyFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getPrivateKeyOrBuilder() {
+ if (privateKeyBuilder_ != null) {
+ return privateKeyBuilder_.getMessageOrBuilder();
+ } else {
+ return privateKey_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : privateKey_;
+ }
+ }
+ /**
+ * <pre>
+ * PEM encoded client private key.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource private_key = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getPrivateKeyFieldBuilder() {
+ if (privateKeyBuilder_ == null) {
+ privateKeyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getPrivateKey(),
+ getParentForChildren(),
+ isClean());
+ privateKey_ = null;
+ }
+ return privateKeyBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.DataSource certChain_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder> certChainBuilder_;
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public boolean hasCertChain() {
+ return certChainBuilder_ != null || certChain_ != null;
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource getCertChain() {
+ if (certChainBuilder_ == null) {
+ return certChain_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : certChain_;
+ } else {
+ return certChainBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public Builder setCertChain(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (certChainBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ certChain_ = value;
+ onChanged();
+ } else {
+ certChainBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public Builder setCertChain(
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder builderForValue) {
+ if (certChainBuilder_ == null) {
+ certChain_ = builderForValue.build();
+ onChanged();
+ } else {
+ certChainBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public Builder mergeCertChain(io.grpc.xds.shaded.envoy.api.v2.core.DataSource value) {
+ if (certChainBuilder_ == null) {
+ if (certChain_ != null) {
+ certChain_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.newBuilder(certChain_).mergeFrom(value).buildPartial();
+ } else {
+ certChain_ = value;
+ }
+ onChanged();
+ } else {
+ certChainBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public Builder clearCertChain() {
+ if (certChainBuilder_ == null) {
+ certChain_ = null;
+ onChanged();
+ } else {
+ certChain_ = null;
+ certChainBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder getCertChainBuilder() {
+
+ onChanged();
+ return getCertChainFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder getCertChainOrBuilder() {
+ if (certChainBuilder_ != null) {
+ return certChainBuilder_.getMessageOrBuilder();
+ } else {
+ return certChain_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource.getDefaultInstance() : certChain_;
+ }
+ }
+ /**
+ * <pre>
+ * PEM encoded client certificate chain.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.DataSource cert_chain = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>
+ getCertChainFieldBuilder() {
+ if (certChainBuilder_ == null) {
+ certChainBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.DataSource, io.grpc.xds.shaded.envoy.api.v2.core.DataSource.Builder, io.grpc.xds.shaded.envoy.api.v2.core.DataSourceOrBuilder>(
+ getCertChain(),
+ getParentForChildren(),
+ isClean());
+ certChain_ = null;
+ }
+ return certChainBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<SslCredentials>
+ PARSER = new com.google.protobuf.AbstractParser<SslCredentials>() {
+ public SslCredentials parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SslCredentials(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<SslCredentials> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<SslCredentials> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface GoogleLocalCredentialsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials)
+ com.google.protobuf.MessageOrBuilder {
+ }
+ /**
+ * <pre>
+ * Local channel credentials. Only UDS is supported for now.
+ * See https://github.com/grpc/grpc/pull/15909.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials}
+ */
+ public static final class GoogleLocalCredentials extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials)
+ GoogleLocalCredentialsOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use GoogleLocalCredentials.newBuilder() to construct.
+ private GoogleLocalCredentials(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private GoogleLocalCredentials() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private GoogleLocalCredentials(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) obj;
+
+ boolean result = true;
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Local channel credentials. Only UDS is supported for now.
+ * See https://github.com/grpc/grpc/pull/15909.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentialsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials(this);
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance()) return this;
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<GoogleLocalCredentials>
+ PARSER = new com.google.protobuf.AbstractParser<GoogleLocalCredentials>() {
+ public GoogleLocalCredentials parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new GoogleLocalCredentials(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<GoogleLocalCredentials> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<GoogleLocalCredentials> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface ChannelCredentialsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ boolean hasSslCredentials();
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials getSslCredentials();
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentialsOrBuilder getSslCredentialsOrBuilder();
+
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ boolean hasGoogleDefault();
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ com.google.protobuf.Empty getGoogleDefault();
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ com.google.protobuf.EmptyOrBuilder getGoogleDefaultOrBuilder();
+
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ boolean hasLocalCredentials();
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials getLocalCredentials();
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentialsOrBuilder getLocalCredentialsOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.CredentialSpecifierCase getCredentialSpecifierCase();
+ }
+ /**
+ * <pre>
+ * See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
+ * credential types.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials}
+ */
+ public static final class ChannelCredentials extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials)
+ ChannelCredentialsOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use ChannelCredentials.newBuilder() to construct.
+ private ChannelCredentials(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ChannelCredentials() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ChannelCredentials(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.Builder subBuilder = null;
+ if (credentialSpecifierCase_ == 1) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_).toBuilder();
+ }
+ credentialSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_);
+ credentialSpecifier_ = subBuilder.buildPartial();
+ }
+ credentialSpecifierCase_ = 1;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Empty.Builder subBuilder = null;
+ if (credentialSpecifierCase_ == 2) {
+ subBuilder = ((com.google.protobuf.Empty) credentialSpecifier_).toBuilder();
+ }
+ credentialSpecifier_ =
+ input.readMessage(com.google.protobuf.Empty.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((com.google.protobuf.Empty) credentialSpecifier_);
+ credentialSpecifier_ = subBuilder.buildPartial();
+ }
+ credentialSpecifierCase_ = 2;
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.Builder subBuilder = null;
+ if (credentialSpecifierCase_ == 3) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_).toBuilder();
+ }
+ credentialSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_);
+ credentialSpecifier_ = subBuilder.buildPartial();
+ }
+ credentialSpecifierCase_ = 3;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.Builder.class);
+ }
+
+ private int credentialSpecifierCase_ = 0;
+ private java.lang.Object credentialSpecifier_;
+ public enum CredentialSpecifierCase
+ implements com.google.protobuf.Internal.EnumLite {
+ SSL_CREDENTIALS(1),
+ GOOGLE_DEFAULT(2),
+ LOCAL_CREDENTIALS(3),
+ CREDENTIALSPECIFIER_NOT_SET(0);
+ private final int value;
+ private CredentialSpecifierCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static CredentialSpecifierCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static CredentialSpecifierCase forNumber(int value) {
+ switch (value) {
+ case 1: return SSL_CREDENTIALS;
+ case 2: return GOOGLE_DEFAULT;
+ case 3: return LOCAL_CREDENTIALS;
+ case 0: return CREDENTIALSPECIFIER_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public CredentialSpecifierCase
+ getCredentialSpecifierCase() {
+ return CredentialSpecifierCase.forNumber(
+ credentialSpecifierCase_);
+ }
+
+ public static final int SSL_CREDENTIALS_FIELD_NUMBER = 1;
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public boolean hasSslCredentials() {
+ return credentialSpecifierCase_ == 1;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials getSslCredentials() {
+ if (credentialSpecifierCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentialsOrBuilder getSslCredentialsOrBuilder() {
+ if (credentialSpecifierCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance();
+ }
+
+ public static final int GOOGLE_DEFAULT_FIELD_NUMBER = 2;
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public boolean hasGoogleDefault() {
+ return credentialSpecifierCase_ == 2;
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public com.google.protobuf.Empty getGoogleDefault() {
+ if (credentialSpecifierCase_ == 2) {
+ return (com.google.protobuf.Empty) credentialSpecifier_;
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public com.google.protobuf.EmptyOrBuilder getGoogleDefaultOrBuilder() {
+ if (credentialSpecifierCase_ == 2) {
+ return (com.google.protobuf.Empty) credentialSpecifier_;
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ }
+
+ public static final int LOCAL_CREDENTIALS_FIELD_NUMBER = 3;
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public boolean hasLocalCredentials() {
+ return credentialSpecifierCase_ == 3;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials getLocalCredentials() {
+ if (credentialSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance();
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentialsOrBuilder getLocalCredentialsOrBuilder() {
+ if (credentialSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (credentialSpecifierCase_ == 1) {
+ output.writeMessage(1, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 2) {
+ output.writeMessage(2, (com.google.protobuf.Empty) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 3) {
+ output.writeMessage(3, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (credentialSpecifierCase_ == 1) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (com.google.protobuf.Empty) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials) obj;
+
+ boolean result = true;
+ result = result && getCredentialSpecifierCase().equals(
+ other.getCredentialSpecifierCase());
+ if (!result) return false;
+ switch (credentialSpecifierCase_) {
+ case 1:
+ result = result && getSslCredentials()
+ .equals(other.getSslCredentials());
+ break;
+ case 2:
+ result = result && getGoogleDefault()
+ .equals(other.getGoogleDefault());
+ break;
+ case 3:
+ result = result && getLocalCredentials()
+ .equals(other.getLocalCredentials());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (credentialSpecifierCase_) {
+ case 1:
+ hash = (37 * hash) + SSL_CREDENTIALS_FIELD_NUMBER;
+ hash = (53 * hash) + getSslCredentials().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + GOOGLE_DEFAULT_FIELD_NUMBER;
+ hash = (53 * hash) + getGoogleDefault().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + LOCAL_CREDENTIALS_FIELD_NUMBER;
+ hash = (53 * hash) + getLocalCredentials().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
+ * credential types.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentialsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials(this);
+ if (credentialSpecifierCase_ == 1) {
+ if (sslCredentialsBuilder_ == null) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ } else {
+ result.credentialSpecifier_ = sslCredentialsBuilder_.build();
+ }
+ }
+ if (credentialSpecifierCase_ == 2) {
+ if (googleDefaultBuilder_ == null) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ } else {
+ result.credentialSpecifier_ = googleDefaultBuilder_.build();
+ }
+ }
+ if (credentialSpecifierCase_ == 3) {
+ if (localCredentialsBuilder_ == null) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ } else {
+ result.credentialSpecifier_ = localCredentialsBuilder_.build();
+ }
+ }
+ result.credentialSpecifierCase_ = credentialSpecifierCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.getDefaultInstance()) return this;
+ switch (other.getCredentialSpecifierCase()) {
+ case SSL_CREDENTIALS: {
+ mergeSslCredentials(other.getSslCredentials());
+ break;
+ }
+ case GOOGLE_DEFAULT: {
+ mergeGoogleDefault(other.getGoogleDefault());
+ break;
+ }
+ case LOCAL_CREDENTIALS: {
+ mergeLocalCredentials(other.getLocalCredentials());
+ break;
+ }
+ case CREDENTIALSPECIFIER_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int credentialSpecifierCase_ = 0;
+ private java.lang.Object credentialSpecifier_;
+ public CredentialSpecifierCase
+ getCredentialSpecifierCase() {
+ return CredentialSpecifierCase.forNumber(
+ credentialSpecifierCase_);
+ }
+
+ public Builder clearCredentialSpecifier() {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentialsOrBuilder> sslCredentialsBuilder_;
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public boolean hasSslCredentials() {
+ return credentialSpecifierCase_ == 1;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials getSslCredentials() {
+ if (sslCredentialsBuilder_ == null) {
+ if (credentialSpecifierCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance();
+ } else {
+ if (credentialSpecifierCase_ == 1) {
+ return sslCredentialsBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public Builder setSslCredentials(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials value) {
+ if (sslCredentialsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifier_ = value;
+ onChanged();
+ } else {
+ sslCredentialsBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 1;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public Builder setSslCredentials(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.Builder builderForValue) {
+ if (sslCredentialsBuilder_ == null) {
+ credentialSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ sslCredentialsBuilder_.setMessage(builderForValue.build());
+ }
+ credentialSpecifierCase_ = 1;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public Builder mergeSslCredentials(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials value) {
+ if (sslCredentialsBuilder_ == null) {
+ if (credentialSpecifierCase_ == 1 &&
+ credentialSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance()) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ credentialSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (credentialSpecifierCase_ == 1) {
+ sslCredentialsBuilder_.mergeFrom(value);
+ }
+ sslCredentialsBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 1;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public Builder clearSslCredentials() {
+ if (sslCredentialsBuilder_ == null) {
+ if (credentialSpecifierCase_ == 1) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (credentialSpecifierCase_ == 1) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ }
+ sslCredentialsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.Builder getSslCredentialsBuilder() {
+ return getSslCredentialsFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentialsOrBuilder getSslCredentialsOrBuilder() {
+ if ((credentialSpecifierCase_ == 1) && (sslCredentialsBuilder_ != null)) {
+ return sslCredentialsBuilder_.getMessageOrBuilder();
+ } else {
+ if (credentialSpecifierCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials ssl_credentials = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentialsOrBuilder>
+ getSslCredentialsFieldBuilder() {
+ if (sslCredentialsBuilder_ == null) {
+ if (!(credentialSpecifierCase_ == 1)) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.getDefaultInstance();
+ }
+ sslCredentialsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentialsOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.SslCredentials) credentialSpecifier_,
+ getParentForChildren(),
+ isClean());
+ credentialSpecifier_ = null;
+ }
+ credentialSpecifierCase_ = 1;
+ onChanged();;
+ return sslCredentialsBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder> googleDefaultBuilder_;
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public boolean hasGoogleDefault() {
+ return credentialSpecifierCase_ == 2;
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public com.google.protobuf.Empty getGoogleDefault() {
+ if (googleDefaultBuilder_ == null) {
+ if (credentialSpecifierCase_ == 2) {
+ return (com.google.protobuf.Empty) credentialSpecifier_;
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ } else {
+ if (credentialSpecifierCase_ == 2) {
+ return googleDefaultBuilder_.getMessage();
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public Builder setGoogleDefault(com.google.protobuf.Empty value) {
+ if (googleDefaultBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifier_ = value;
+ onChanged();
+ } else {
+ googleDefaultBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public Builder setGoogleDefault(
+ com.google.protobuf.Empty.Builder builderForValue) {
+ if (googleDefaultBuilder_ == null) {
+ credentialSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ googleDefaultBuilder_.setMessage(builderForValue.build());
+ }
+ credentialSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public Builder mergeGoogleDefault(com.google.protobuf.Empty value) {
+ if (googleDefaultBuilder_ == null) {
+ if (credentialSpecifierCase_ == 2 &&
+ credentialSpecifier_ != com.google.protobuf.Empty.getDefaultInstance()) {
+ credentialSpecifier_ = com.google.protobuf.Empty.newBuilder((com.google.protobuf.Empty) credentialSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ credentialSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (credentialSpecifierCase_ == 2) {
+ googleDefaultBuilder_.mergeFrom(value);
+ }
+ googleDefaultBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public Builder clearGoogleDefault() {
+ if (googleDefaultBuilder_ == null) {
+ if (credentialSpecifierCase_ == 2) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (credentialSpecifierCase_ == 2) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ }
+ googleDefaultBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public com.google.protobuf.Empty.Builder getGoogleDefaultBuilder() {
+ return getGoogleDefaultFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ public com.google.protobuf.EmptyOrBuilder getGoogleDefaultOrBuilder() {
+ if ((credentialSpecifierCase_ == 2) && (googleDefaultBuilder_ != null)) {
+ return googleDefaultBuilder_.getMessageOrBuilder();
+ } else {
+ if (credentialSpecifierCase_ == 2) {
+ return (com.google.protobuf.Empty) credentialSpecifier_;
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_default = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder>
+ getGoogleDefaultFieldBuilder() {
+ if (googleDefaultBuilder_ == null) {
+ if (!(credentialSpecifierCase_ == 2)) {
+ credentialSpecifier_ = com.google.protobuf.Empty.getDefaultInstance();
+ }
+ googleDefaultBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder>(
+ (com.google.protobuf.Empty) credentialSpecifier_,
+ getParentForChildren(),
+ isClean());
+ credentialSpecifier_ = null;
+ }
+ credentialSpecifierCase_ = 2;
+ onChanged();;
+ return googleDefaultBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentialsOrBuilder> localCredentialsBuilder_;
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public boolean hasLocalCredentials() {
+ return credentialSpecifierCase_ == 3;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials getLocalCredentials() {
+ if (localCredentialsBuilder_ == null) {
+ if (credentialSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance();
+ } else {
+ if (credentialSpecifierCase_ == 3) {
+ return localCredentialsBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public Builder setLocalCredentials(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials value) {
+ if (localCredentialsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifier_ = value;
+ onChanged();
+ } else {
+ localCredentialsBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public Builder setLocalCredentials(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.Builder builderForValue) {
+ if (localCredentialsBuilder_ == null) {
+ credentialSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ localCredentialsBuilder_.setMessage(builderForValue.build());
+ }
+ credentialSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public Builder mergeLocalCredentials(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials value) {
+ if (localCredentialsBuilder_ == null) {
+ if (credentialSpecifierCase_ == 3 &&
+ credentialSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance()) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ credentialSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (credentialSpecifierCase_ == 3) {
+ localCredentialsBuilder_.mergeFrom(value);
+ }
+ localCredentialsBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public Builder clearLocalCredentials() {
+ if (localCredentialsBuilder_ == null) {
+ if (credentialSpecifierCase_ == 3) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (credentialSpecifierCase_ == 3) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ }
+ localCredentialsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.Builder getLocalCredentialsBuilder() {
+ return getLocalCredentialsFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentialsOrBuilder getLocalCredentialsOrBuilder() {
+ if ((credentialSpecifierCase_ == 3) && (localCredentialsBuilder_ != null)) {
+ return localCredentialsBuilder_.getMessageOrBuilder();
+ } else {
+ if (credentialSpecifierCase_ == 3) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials local_credentials = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentialsOrBuilder>
+ getLocalCredentialsFieldBuilder() {
+ if (localCredentialsBuilder_ == null) {
+ if (!(credentialSpecifierCase_ == 3)) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.getDefaultInstance();
+ }
+ localCredentialsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentialsOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.GoogleLocalCredentials) credentialSpecifier_,
+ getParentForChildren(),
+ isClean());
+ credentialSpecifier_ = null;
+ }
+ credentialSpecifierCase_ = 3;
+ onChanged();;
+ return localCredentialsBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ChannelCredentials>
+ PARSER = new com.google.protobuf.AbstractParser<ChannelCredentials>() {
+ public ChannelCredentials parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ChannelCredentials(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ChannelCredentials> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ChannelCredentials> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface CallCredentialsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ java.lang.String getAccessToken();
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getAccessTokenBytes();
+
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ boolean hasGoogleComputeEngine();
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ com.google.protobuf.Empty getGoogleComputeEngine();
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ com.google.protobuf.EmptyOrBuilder getGoogleComputeEngineOrBuilder();
+
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ java.lang.String getGoogleRefreshToken();
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ com.google.protobuf.ByteString
+ getGoogleRefreshTokenBytes();
+
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ boolean hasServiceAccountJwtAccess();
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials getServiceAccountJwtAccess();
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentialsOrBuilder getServiceAccountJwtAccessOrBuilder();
+
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ boolean hasGoogleIam();
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials getGoogleIam();
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentialsOrBuilder getGoogleIamOrBuilder();
+
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ boolean hasFromPlugin();
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin getFromPlugin();
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPluginOrBuilder getFromPluginOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.CredentialSpecifierCase getCredentialSpecifierCase();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials}
+ */
+ public static final class CallCredentials extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials)
+ CallCredentialsOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use CallCredentials.newBuilder() to construct.
+ private CallCredentials(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CallCredentials() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CallCredentials(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+ credentialSpecifierCase_ = 1;
+ credentialSpecifier_ = s;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Empty.Builder subBuilder = null;
+ if (credentialSpecifierCase_ == 2) {
+ subBuilder = ((com.google.protobuf.Empty) credentialSpecifier_).toBuilder();
+ }
+ credentialSpecifier_ =
+ input.readMessage(com.google.protobuf.Empty.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((com.google.protobuf.Empty) credentialSpecifier_);
+ credentialSpecifier_ = subBuilder.buildPartial();
+ }
+ credentialSpecifierCase_ = 2;
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+ credentialSpecifierCase_ = 3;
+ credentialSpecifier_ = s;
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.Builder subBuilder = null;
+ if (credentialSpecifierCase_ == 4) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_).toBuilder();
+ }
+ credentialSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_);
+ credentialSpecifier_ = subBuilder.buildPartial();
+ }
+ credentialSpecifierCase_ = 4;
+ break;
+ }
+ case 42: {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.Builder subBuilder = null;
+ if (credentialSpecifierCase_ == 5) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_).toBuilder();
+ }
+ credentialSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_);
+ credentialSpecifier_ = subBuilder.buildPartial();
+ }
+ credentialSpecifierCase_ = 5;
+ break;
+ }
+ case 50: {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.Builder subBuilder = null;
+ if (credentialSpecifierCase_ == 6) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_).toBuilder();
+ }
+ credentialSpecifier_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_);
+ credentialSpecifier_ = subBuilder.buildPartial();
+ }
+ credentialSpecifierCase_ = 6;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder.class);
+ }
+
+ public interface ServiceAccountJWTAccessCredentialsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ java.lang.String getJsonKey();
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getJsonKeyBytes();
+
+ /**
+ * <code>uint64 token_lifetime_seconds = 2;</code>
+ */
+ long getTokenLifetimeSeconds();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials}
+ */
+ public static final class ServiceAccountJWTAccessCredentials extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials)
+ ServiceAccountJWTAccessCredentialsOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use ServiceAccountJWTAccessCredentials.newBuilder() to construct.
+ private ServiceAccountJWTAccessCredentials(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ServiceAccountJWTAccessCredentials() {
+ jsonKey_ = "";
+ tokenLifetimeSeconds_ = 0L;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ServiceAccountJWTAccessCredentials(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ jsonKey_ = s;
+ break;
+ }
+ case 16: {
+
+ tokenLifetimeSeconds_ = input.readUInt64();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.Builder.class);
+ }
+
+ public static final int JSON_KEY_FIELD_NUMBER = 1;
+ private volatile java.lang.Object jsonKey_;
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ public java.lang.String getJsonKey() {
+ java.lang.Object ref = jsonKey_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ jsonKey_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getJsonKeyBytes() {
+ java.lang.Object ref = jsonKey_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ jsonKey_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int TOKEN_LIFETIME_SECONDS_FIELD_NUMBER = 2;
+ private long tokenLifetimeSeconds_;
+ /**
+ * <code>uint64 token_lifetime_seconds = 2;</code>
+ */
+ public long getTokenLifetimeSeconds() {
+ return tokenLifetimeSeconds_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getJsonKeyBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, jsonKey_);
+ }
+ if (tokenLifetimeSeconds_ != 0L) {
+ output.writeUInt64(2, tokenLifetimeSeconds_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getJsonKeyBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, jsonKey_);
+ }
+ if (tokenLifetimeSeconds_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, tokenLifetimeSeconds_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) obj;
+
+ boolean result = true;
+ result = result && getJsonKey()
+ .equals(other.getJsonKey());
+ result = result && (getTokenLifetimeSeconds()
+ == other.getTokenLifetimeSeconds());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + JSON_KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getJsonKey().hashCode();
+ hash = (37 * hash) + TOKEN_LIFETIME_SECONDS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getTokenLifetimeSeconds());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentialsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ jsonKey_ = "";
+
+ tokenLifetimeSeconds_ = 0L;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials(this);
+ result.jsonKey_ = jsonKey_;
+ result.tokenLifetimeSeconds_ = tokenLifetimeSeconds_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance()) return this;
+ if (!other.getJsonKey().isEmpty()) {
+ jsonKey_ = other.jsonKey_;
+ onChanged();
+ }
+ if (other.getTokenLifetimeSeconds() != 0L) {
+ setTokenLifetimeSeconds(other.getTokenLifetimeSeconds());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object jsonKey_ = "";
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ public java.lang.String getJsonKey() {
+ java.lang.Object ref = jsonKey_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ jsonKey_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getJsonKeyBytes() {
+ java.lang.Object ref = jsonKey_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ jsonKey_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ public Builder setJsonKey(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ jsonKey_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ public Builder clearJsonKey() {
+
+ jsonKey_ = getDefaultInstance().getJsonKey();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string json_key = 1;</code>
+ */
+ public Builder setJsonKeyBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ jsonKey_ = value;
+ onChanged();
+ return this;
+ }
+
+ private long tokenLifetimeSeconds_ ;
+ /**
+ * <code>uint64 token_lifetime_seconds = 2;</code>
+ */
+ public long getTokenLifetimeSeconds() {
+ return tokenLifetimeSeconds_;
+ }
+ /**
+ * <code>uint64 token_lifetime_seconds = 2;</code>
+ */
+ public Builder setTokenLifetimeSeconds(long value) {
+
+ tokenLifetimeSeconds_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>uint64 token_lifetime_seconds = 2;</code>
+ */
+ public Builder clearTokenLifetimeSeconds() {
+
+ tokenLifetimeSeconds_ = 0L;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ServiceAccountJWTAccessCredentials>
+ PARSER = new com.google.protobuf.AbstractParser<ServiceAccountJWTAccessCredentials>() {
+ public ServiceAccountJWTAccessCredentials parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ServiceAccountJWTAccessCredentials(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ServiceAccountJWTAccessCredentials> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ServiceAccountJWTAccessCredentials> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface GoogleIAMCredentialsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ java.lang.String getAuthorizationToken();
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getAuthorizationTokenBytes();
+
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ java.lang.String getAuthoritySelector();
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getAuthoritySelectorBytes();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials}
+ */
+ public static final class GoogleIAMCredentials extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials)
+ GoogleIAMCredentialsOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use GoogleIAMCredentials.newBuilder() to construct.
+ private GoogleIAMCredentials(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private GoogleIAMCredentials() {
+ authorizationToken_ = "";
+ authoritySelector_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private GoogleIAMCredentials(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ authorizationToken_ = s;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ authoritySelector_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.Builder.class);
+ }
+
+ public static final int AUTHORIZATION_TOKEN_FIELD_NUMBER = 1;
+ private volatile java.lang.Object authorizationToken_;
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ public java.lang.String getAuthorizationToken() {
+ java.lang.Object ref = authorizationToken_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ authorizationToken_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAuthorizationTokenBytes() {
+ java.lang.Object ref = authorizationToken_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ authorizationToken_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int AUTHORITY_SELECTOR_FIELD_NUMBER = 2;
+ private volatile java.lang.Object authoritySelector_;
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ public java.lang.String getAuthoritySelector() {
+ java.lang.Object ref = authoritySelector_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ authoritySelector_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAuthoritySelectorBytes() {
+ java.lang.Object ref = authoritySelector_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ authoritySelector_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getAuthorizationTokenBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, authorizationToken_);
+ }
+ if (!getAuthoritySelectorBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, authoritySelector_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getAuthorizationTokenBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, authorizationToken_);
+ }
+ if (!getAuthoritySelectorBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, authoritySelector_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) obj;
+
+ boolean result = true;
+ result = result && getAuthorizationToken()
+ .equals(other.getAuthorizationToken());
+ result = result && getAuthoritySelector()
+ .equals(other.getAuthoritySelector());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + AUTHORIZATION_TOKEN_FIELD_NUMBER;
+ hash = (53 * hash) + getAuthorizationToken().hashCode();
+ hash = (37 * hash) + AUTHORITY_SELECTOR_FIELD_NUMBER;
+ hash = (53 * hash) + getAuthoritySelector().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentialsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ authorizationToken_ = "";
+
+ authoritySelector_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials(this);
+ result.authorizationToken_ = authorizationToken_;
+ result.authoritySelector_ = authoritySelector_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance()) return this;
+ if (!other.getAuthorizationToken().isEmpty()) {
+ authorizationToken_ = other.authorizationToken_;
+ onChanged();
+ }
+ if (!other.getAuthoritySelector().isEmpty()) {
+ authoritySelector_ = other.authoritySelector_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object authorizationToken_ = "";
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ public java.lang.String getAuthorizationToken() {
+ java.lang.Object ref = authorizationToken_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ authorizationToken_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAuthorizationTokenBytes() {
+ java.lang.Object ref = authorizationToken_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ authorizationToken_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ public Builder setAuthorizationToken(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ authorizationToken_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ public Builder clearAuthorizationToken() {
+
+ authorizationToken_ = getDefaultInstance().getAuthorizationToken();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string authorization_token = 1;</code>
+ */
+ public Builder setAuthorizationTokenBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ authorizationToken_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object authoritySelector_ = "";
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ public java.lang.String getAuthoritySelector() {
+ java.lang.Object ref = authoritySelector_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ authoritySelector_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAuthoritySelectorBytes() {
+ java.lang.Object ref = authoritySelector_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ authoritySelector_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ public Builder setAuthoritySelector(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ authoritySelector_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ public Builder clearAuthoritySelector() {
+
+ authoritySelector_ = getDefaultInstance().getAuthoritySelector();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string authority_selector = 2;</code>
+ */
+ public Builder setAuthoritySelectorBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ authoritySelector_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<GoogleIAMCredentials>
+ PARSER = new com.google.protobuf.AbstractParser<GoogleIAMCredentials>() {
+ public GoogleIAMCredentials parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new GoogleIAMCredentials(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<GoogleIAMCredentials> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<GoogleIAMCredentials> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface MetadataCredentialsFromPluginOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string name = 1;</code>
+ */
+ java.lang.String getName();
+ /**
+ * <code>string name = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ boolean hasConfig();
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ com.google.protobuf.Struct getConfig();
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ com.google.protobuf.StructOrBuilder getConfigOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ boolean hasTypedConfig();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ com.google.protobuf.Any getTypedConfig();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.ConfigTypeCase getConfigTypeCase();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin}
+ */
+ public static final class MetadataCredentialsFromPlugin extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin)
+ MetadataCredentialsFromPluginOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use MetadataCredentialsFromPlugin.newBuilder() to construct.
+ private MetadataCredentialsFromPlugin(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private MetadataCredentialsFromPlugin() {
+ name_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private MetadataCredentialsFromPlugin(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Struct.Builder subBuilder = null;
+ if (configTypeCase_ == 2) {
+ subBuilder = ((com.google.protobuf.Struct) configType_).toBuilder();
+ }
+ configType_ =
+ input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((com.google.protobuf.Struct) configType_);
+ configType_ = subBuilder.buildPartial();
+ }
+ configTypeCase_ = 2;
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Any.Builder subBuilder = null;
+ if (configTypeCase_ == 3) {
+ subBuilder = ((com.google.protobuf.Any) configType_).toBuilder();
+ }
+ configType_ =
+ input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((com.google.protobuf.Any) configType_);
+ configType_ = subBuilder.buildPartial();
+ }
+ configTypeCase_ = 3;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.Builder.class);
+ }
+
+ private int configTypeCase_ = 0;
+ private java.lang.Object configType_;
+ public enum ConfigTypeCase
+ implements com.google.protobuf.Internal.EnumLite {
+ CONFIG(2),
+ TYPED_CONFIG(3),
+ CONFIGTYPE_NOT_SET(0);
+ private final int value;
+ private ConfigTypeCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ConfigTypeCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static ConfigTypeCase forNumber(int value) {
+ switch (value) {
+ case 2: return CONFIG;
+ case 3: return TYPED_CONFIG;
+ case 0: return CONFIGTYPE_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public ConfigTypeCase
+ getConfigTypeCase() {
+ return ConfigTypeCase.forNumber(
+ configTypeCase_);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <code>string name = 1;</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CONFIG_FIELD_NUMBER = 2;
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public boolean hasConfig() {
+ return configTypeCase_ == 2;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct getConfig() {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getConfigOrBuilder() {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+
+ public static final int TYPED_CONFIG_FIELD_NUMBER = 3;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public boolean hasTypedConfig() {
+ return configTypeCase_ == 3;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any getTypedConfig() {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (configTypeCase_ == 2) {
+ output.writeMessage(2, (com.google.protobuf.Struct) configType_);
+ }
+ if (configTypeCase_ == 3) {
+ output.writeMessage(3, (com.google.protobuf.Any) configType_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (configTypeCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (com.google.protobuf.Struct) configType_);
+ }
+ if (configTypeCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (com.google.protobuf.Any) configType_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) obj;
+
+ boolean result = true;
+ result = result && getName()
+ .equals(other.getName());
+ result = result && getConfigTypeCase().equals(
+ other.getConfigTypeCase());
+ if (!result) return false;
+ switch (configTypeCase_) {
+ case 2:
+ result = result && getConfig()
+ .equals(other.getConfig());
+ break;
+ case 3:
+ result = result && getTypedConfig()
+ .equals(other.getTypedConfig());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ switch (configTypeCase_) {
+ case 2:
+ hash = (37 * hash) + CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getConfig().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + TYPED_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getTypedConfig().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPluginOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ configTypeCase_ = 0;
+ configType_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin(this);
+ result.name_ = name_;
+ if (configTypeCase_ == 2) {
+ if (configBuilder_ == null) {
+ result.configType_ = configType_;
+ } else {
+ result.configType_ = configBuilder_.build();
+ }
+ }
+ if (configTypeCase_ == 3) {
+ if (typedConfigBuilder_ == null) {
+ result.configType_ = configType_;
+ } else {
+ result.configType_ = typedConfigBuilder_.build();
+ }
+ }
+ result.configTypeCase_ = configTypeCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ switch (other.getConfigTypeCase()) {
+ case CONFIG: {
+ mergeConfig(other.getConfig());
+ break;
+ }
+ case TYPED_CONFIG: {
+ mergeTypedConfig(other.getTypedConfig());
+ break;
+ }
+ case CONFIGTYPE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int configTypeCase_ = 0;
+ private java.lang.Object configType_;
+ public ConfigTypeCase
+ getConfigTypeCase() {
+ return ConfigTypeCase.forNumber(
+ configTypeCase_);
+ }
+
+ public Builder clearConfigType() {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private java.lang.Object name_ = "";
+ /**
+ * <code>string name = 1;</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> configBuilder_;
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public boolean hasConfig() {
+ return configTypeCase_ == 2;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct getConfig() {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ } else {
+ if (configTypeCase_ == 2) {
+ return configBuilder_.getMessage();
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder setConfig(com.google.protobuf.Struct value) {
+ if (configBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configType_ = value;
+ onChanged();
+ } else {
+ configBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder setConfig(
+ com.google.protobuf.Struct.Builder builderForValue) {
+ if (configBuilder_ == null) {
+ configType_ = builderForValue.build();
+ onChanged();
+ } else {
+ configBuilder_.setMessage(builderForValue.build());
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder mergeConfig(com.google.protobuf.Struct value) {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2 &&
+ configType_ != com.google.protobuf.Struct.getDefaultInstance()) {
+ configType_ = com.google.protobuf.Struct.newBuilder((com.google.protobuf.Struct) configType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ configType_ = value;
+ }
+ onChanged();
+ } else {
+ if (configTypeCase_ == 2) {
+ configBuilder_.mergeFrom(value);
+ }
+ configBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder clearConfig() {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ }
+ } else {
+ if (configTypeCase_ == 2) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ }
+ configBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct.Builder getConfigBuilder() {
+ return getConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getConfigOrBuilder() {
+ if ((configTypeCase_ == 2) && (configBuilder_ != null)) {
+ return configBuilder_.getMessageOrBuilder();
+ } else {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>
+ getConfigFieldBuilder() {
+ if (configBuilder_ == null) {
+ if (!(configTypeCase_ == 2)) {
+ configType_ = com.google.protobuf.Struct.getDefaultInstance();
+ }
+ configBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>(
+ (com.google.protobuf.Struct) configType_,
+ getParentForChildren(),
+ isClean());
+ configType_ = null;
+ }
+ configTypeCase_ = 2;
+ onChanged();;
+ return configBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> typedConfigBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public boolean hasTypedConfig() {
+ return configTypeCase_ == 3;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any getTypedConfig() {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ } else {
+ if (configTypeCase_ == 3) {
+ return typedConfigBuilder_.getMessage();
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder setTypedConfig(com.google.protobuf.Any value) {
+ if (typedConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configType_ = value;
+ onChanged();
+ } else {
+ typedConfigBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder setTypedConfig(
+ com.google.protobuf.Any.Builder builderForValue) {
+ if (typedConfigBuilder_ == null) {
+ configType_ = builderForValue.build();
+ onChanged();
+ } else {
+ typedConfigBuilder_.setMessage(builderForValue.build());
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder mergeTypedConfig(com.google.protobuf.Any value) {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3 &&
+ configType_ != com.google.protobuf.Any.getDefaultInstance()) {
+ configType_ = com.google.protobuf.Any.newBuilder((com.google.protobuf.Any) configType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ configType_ = value;
+ }
+ onChanged();
+ } else {
+ if (configTypeCase_ == 3) {
+ typedConfigBuilder_.mergeFrom(value);
+ }
+ typedConfigBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder clearTypedConfig() {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ }
+ } else {
+ if (configTypeCase_ == 3) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ }
+ typedConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any.Builder getTypedConfigBuilder() {
+ return getTypedConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
+ if ((configTypeCase_ == 3) && (typedConfigBuilder_ != null)) {
+ return typedConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>
+ getTypedConfigFieldBuilder() {
+ if (typedConfigBuilder_ == null) {
+ if (!(configTypeCase_ == 3)) {
+ configType_ = com.google.protobuf.Any.getDefaultInstance();
+ }
+ typedConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
+ (com.google.protobuf.Any) configType_,
+ getParentForChildren(),
+ isClean());
+ configType_ = null;
+ }
+ configTypeCase_ = 3;
+ onChanged();;
+ return typedConfigBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<MetadataCredentialsFromPlugin>
+ PARSER = new com.google.protobuf.AbstractParser<MetadataCredentialsFromPlugin>() {
+ public MetadataCredentialsFromPlugin parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new MetadataCredentialsFromPlugin(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<MetadataCredentialsFromPlugin> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<MetadataCredentialsFromPlugin> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int credentialSpecifierCase_ = 0;
+ private java.lang.Object credentialSpecifier_;
+ public enum CredentialSpecifierCase
+ implements com.google.protobuf.Internal.EnumLite {
+ ACCESS_TOKEN(1),
+ GOOGLE_COMPUTE_ENGINE(2),
+ GOOGLE_REFRESH_TOKEN(3),
+ SERVICE_ACCOUNT_JWT_ACCESS(4),
+ GOOGLE_IAM(5),
+ FROM_PLUGIN(6),
+ CREDENTIALSPECIFIER_NOT_SET(0);
+ private final int value;
+ private CredentialSpecifierCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static CredentialSpecifierCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static CredentialSpecifierCase forNumber(int value) {
+ switch (value) {
+ case 1: return ACCESS_TOKEN;
+ case 2: return GOOGLE_COMPUTE_ENGINE;
+ case 3: return GOOGLE_REFRESH_TOKEN;
+ case 4: return SERVICE_ACCOUNT_JWT_ACCESS;
+ case 5: return GOOGLE_IAM;
+ case 6: return FROM_PLUGIN;
+ case 0: return CREDENTIALSPECIFIER_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public CredentialSpecifierCase
+ getCredentialSpecifierCase() {
+ return CredentialSpecifierCase.forNumber(
+ credentialSpecifierCase_);
+ }
+
+ public static final int ACCESS_TOKEN_FIELD_NUMBER = 1;
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ public java.lang.String getAccessToken() {
+ java.lang.Object ref = "";
+ if (credentialSpecifierCase_ == 1) {
+ ref = credentialSpecifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (credentialSpecifierCase_ == 1) {
+ credentialSpecifier_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAccessTokenBytes() {
+ java.lang.Object ref = "";
+ if (credentialSpecifierCase_ == 1) {
+ ref = credentialSpecifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (credentialSpecifierCase_ == 1) {
+ credentialSpecifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int GOOGLE_COMPUTE_ENGINE_FIELD_NUMBER = 2;
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public boolean hasGoogleComputeEngine() {
+ return credentialSpecifierCase_ == 2;
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public com.google.protobuf.Empty getGoogleComputeEngine() {
+ if (credentialSpecifierCase_ == 2) {
+ return (com.google.protobuf.Empty) credentialSpecifier_;
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public com.google.protobuf.EmptyOrBuilder getGoogleComputeEngineOrBuilder() {
+ if (credentialSpecifierCase_ == 2) {
+ return (com.google.protobuf.Empty) credentialSpecifier_;
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ }
+
+ public static final int GOOGLE_REFRESH_TOKEN_FIELD_NUMBER = 3;
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ public java.lang.String getGoogleRefreshToken() {
+ java.lang.Object ref = "";
+ if (credentialSpecifierCase_ == 3) {
+ ref = credentialSpecifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (credentialSpecifierCase_ == 3) {
+ credentialSpecifier_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getGoogleRefreshTokenBytes() {
+ java.lang.Object ref = "";
+ if (credentialSpecifierCase_ == 3) {
+ ref = credentialSpecifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (credentialSpecifierCase_ == 3) {
+ credentialSpecifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int SERVICE_ACCOUNT_JWT_ACCESS_FIELD_NUMBER = 4;
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public boolean hasServiceAccountJwtAccess() {
+ return credentialSpecifierCase_ == 4;
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials getServiceAccountJwtAccess() {
+ if (credentialSpecifierCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentialsOrBuilder getServiceAccountJwtAccessOrBuilder() {
+ if (credentialSpecifierCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance();
+ }
+
+ public static final int GOOGLE_IAM_FIELD_NUMBER = 5;
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public boolean hasGoogleIam() {
+ return credentialSpecifierCase_ == 5;
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials getGoogleIam() {
+ if (credentialSpecifierCase_ == 5) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentialsOrBuilder getGoogleIamOrBuilder() {
+ if (credentialSpecifierCase_ == 5) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance();
+ }
+
+ public static final int FROM_PLUGIN_FIELD_NUMBER = 6;
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public boolean hasFromPlugin() {
+ return credentialSpecifierCase_ == 6;
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin getFromPlugin() {
+ if (credentialSpecifierCase_ == 6) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPluginOrBuilder getFromPluginOrBuilder() {
+ if (credentialSpecifierCase_ == 6) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (credentialSpecifierCase_ == 1) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 2) {
+ output.writeMessage(2, (com.google.protobuf.Empty) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 3) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 4) {
+ output.writeMessage(4, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 5) {
+ output.writeMessage(5, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 6) {
+ output.writeMessage(6, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (credentialSpecifierCase_ == 1) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (com.google.protobuf.Empty) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 3) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 4) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 5) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_);
+ }
+ if (credentialSpecifierCase_ == 6) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials) obj;
+
+ boolean result = true;
+ result = result && getCredentialSpecifierCase().equals(
+ other.getCredentialSpecifierCase());
+ if (!result) return false;
+ switch (credentialSpecifierCase_) {
+ case 1:
+ result = result && getAccessToken()
+ .equals(other.getAccessToken());
+ break;
+ case 2:
+ result = result && getGoogleComputeEngine()
+ .equals(other.getGoogleComputeEngine());
+ break;
+ case 3:
+ result = result && getGoogleRefreshToken()
+ .equals(other.getGoogleRefreshToken());
+ break;
+ case 4:
+ result = result && getServiceAccountJwtAccess()
+ .equals(other.getServiceAccountJwtAccess());
+ break;
+ case 5:
+ result = result && getGoogleIam()
+ .equals(other.getGoogleIam());
+ break;
+ case 6:
+ result = result && getFromPlugin()
+ .equals(other.getFromPlugin());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (credentialSpecifierCase_) {
+ case 1:
+ hash = (37 * hash) + ACCESS_TOKEN_FIELD_NUMBER;
+ hash = (53 * hash) + getAccessToken().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + GOOGLE_COMPUTE_ENGINE_FIELD_NUMBER;
+ hash = (53 * hash) + getGoogleComputeEngine().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + GOOGLE_REFRESH_TOKEN_FIELD_NUMBER;
+ hash = (53 * hash) + getGoogleRefreshToken().hashCode();
+ break;
+ case 4:
+ hash = (37 * hash) + SERVICE_ACCOUNT_JWT_ACCESS_FIELD_NUMBER;
+ hash = (53 * hash) + getServiceAccountJwtAccess().hashCode();
+ break;
+ case 5:
+ hash = (37 * hash) + GOOGLE_IAM_FIELD_NUMBER;
+ hash = (53 * hash) + getGoogleIam().hashCode();
+ break;
+ case 6:
+ hash = (37 * hash) + FROM_PLUGIN_FIELD_NUMBER;
+ hash = (53 * hash) + getFromPlugin().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials(this);
+ if (credentialSpecifierCase_ == 1) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ }
+ if (credentialSpecifierCase_ == 2) {
+ if (googleComputeEngineBuilder_ == null) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ } else {
+ result.credentialSpecifier_ = googleComputeEngineBuilder_.build();
+ }
+ }
+ if (credentialSpecifierCase_ == 3) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ }
+ if (credentialSpecifierCase_ == 4) {
+ if (serviceAccountJwtAccessBuilder_ == null) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ } else {
+ result.credentialSpecifier_ = serviceAccountJwtAccessBuilder_.build();
+ }
+ }
+ if (credentialSpecifierCase_ == 5) {
+ if (googleIamBuilder_ == null) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ } else {
+ result.credentialSpecifier_ = googleIamBuilder_.build();
+ }
+ }
+ if (credentialSpecifierCase_ == 6) {
+ if (fromPluginBuilder_ == null) {
+ result.credentialSpecifier_ = credentialSpecifier_;
+ } else {
+ result.credentialSpecifier_ = fromPluginBuilder_.build();
+ }
+ }
+ result.credentialSpecifierCase_ = credentialSpecifierCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.getDefaultInstance()) return this;
+ switch (other.getCredentialSpecifierCase()) {
+ case ACCESS_TOKEN: {
+ credentialSpecifierCase_ = 1;
+ credentialSpecifier_ = other.credentialSpecifier_;
+ onChanged();
+ break;
+ }
+ case GOOGLE_COMPUTE_ENGINE: {
+ mergeGoogleComputeEngine(other.getGoogleComputeEngine());
+ break;
+ }
+ case GOOGLE_REFRESH_TOKEN: {
+ credentialSpecifierCase_ = 3;
+ credentialSpecifier_ = other.credentialSpecifier_;
+ onChanged();
+ break;
+ }
+ case SERVICE_ACCOUNT_JWT_ACCESS: {
+ mergeServiceAccountJwtAccess(other.getServiceAccountJwtAccess());
+ break;
+ }
+ case GOOGLE_IAM: {
+ mergeGoogleIam(other.getGoogleIam());
+ break;
+ }
+ case FROM_PLUGIN: {
+ mergeFromPlugin(other.getFromPlugin());
+ break;
+ }
+ case CREDENTIALSPECIFIER_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int credentialSpecifierCase_ = 0;
+ private java.lang.Object credentialSpecifier_;
+ public CredentialSpecifierCase
+ getCredentialSpecifierCase() {
+ return CredentialSpecifierCase.forNumber(
+ credentialSpecifierCase_);
+ }
+
+ public Builder clearCredentialSpecifier() {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ public java.lang.String getAccessToken() {
+ java.lang.Object ref = "";
+ if (credentialSpecifierCase_ == 1) {
+ ref = credentialSpecifier_;
+ }
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (credentialSpecifierCase_ == 1) {
+ credentialSpecifier_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getAccessTokenBytes() {
+ java.lang.Object ref = "";
+ if (credentialSpecifierCase_ == 1) {
+ ref = credentialSpecifier_;
+ }
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (credentialSpecifierCase_ == 1) {
+ credentialSpecifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ public Builder setAccessToken(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifierCase_ = 1;
+ credentialSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ public Builder clearAccessToken() {
+ if (credentialSpecifierCase_ == 1) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Access token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ * </pre>
+ *
+ * <code>string access_token = 1;</code>
+ */
+ public Builder setAccessTokenBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ credentialSpecifierCase_ = 1;
+ credentialSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder> googleComputeEngineBuilder_;
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public boolean hasGoogleComputeEngine() {
+ return credentialSpecifierCase_ == 2;
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public com.google.protobuf.Empty getGoogleComputeEngine() {
+ if (googleComputeEngineBuilder_ == null) {
+ if (credentialSpecifierCase_ == 2) {
+ return (com.google.protobuf.Empty) credentialSpecifier_;
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ } else {
+ if (credentialSpecifierCase_ == 2) {
+ return googleComputeEngineBuilder_.getMessage();
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public Builder setGoogleComputeEngine(com.google.protobuf.Empty value) {
+ if (googleComputeEngineBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifier_ = value;
+ onChanged();
+ } else {
+ googleComputeEngineBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public Builder setGoogleComputeEngine(
+ com.google.protobuf.Empty.Builder builderForValue) {
+ if (googleComputeEngineBuilder_ == null) {
+ credentialSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ googleComputeEngineBuilder_.setMessage(builderForValue.build());
+ }
+ credentialSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public Builder mergeGoogleComputeEngine(com.google.protobuf.Empty value) {
+ if (googleComputeEngineBuilder_ == null) {
+ if (credentialSpecifierCase_ == 2 &&
+ credentialSpecifier_ != com.google.protobuf.Empty.getDefaultInstance()) {
+ credentialSpecifier_ = com.google.protobuf.Empty.newBuilder((com.google.protobuf.Empty) credentialSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ credentialSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (credentialSpecifierCase_ == 2) {
+ googleComputeEngineBuilder_.mergeFrom(value);
+ }
+ googleComputeEngineBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public Builder clearGoogleComputeEngine() {
+ if (googleComputeEngineBuilder_ == null) {
+ if (credentialSpecifierCase_ == 2) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (credentialSpecifierCase_ == 2) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ }
+ googleComputeEngineBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public com.google.protobuf.Empty.Builder getGoogleComputeEngineBuilder() {
+ return getGoogleComputeEngineFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ public com.google.protobuf.EmptyOrBuilder getGoogleComputeEngineOrBuilder() {
+ if ((credentialSpecifierCase_ == 2) && (googleComputeEngineBuilder_ != null)) {
+ return googleComputeEngineBuilder_.getMessageOrBuilder();
+ } else {
+ if (credentialSpecifierCase_ == 2) {
+ return (com.google.protobuf.Empty) credentialSpecifier_;
+ }
+ return com.google.protobuf.Empty.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Google Compute Engine credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ * </pre>
+ *
+ * <code>.google.protobuf.Empty google_compute_engine = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder>
+ getGoogleComputeEngineFieldBuilder() {
+ if (googleComputeEngineBuilder_ == null) {
+ if (!(credentialSpecifierCase_ == 2)) {
+ credentialSpecifier_ = com.google.protobuf.Empty.getDefaultInstance();
+ }
+ googleComputeEngineBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Empty, com.google.protobuf.Empty.Builder, com.google.protobuf.EmptyOrBuilder>(
+ (com.google.protobuf.Empty) credentialSpecifier_,
+ getParentForChildren(),
+ isClean());
+ credentialSpecifier_ = null;
+ }
+ credentialSpecifierCase_ = 2;
+ onChanged();;
+ return googleComputeEngineBuilder_;
+ }
+
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ public java.lang.String getGoogleRefreshToken() {
+ java.lang.Object ref = "";
+ if (credentialSpecifierCase_ == 3) {
+ ref = credentialSpecifier_;
+ }
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (credentialSpecifierCase_ == 3) {
+ credentialSpecifier_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getGoogleRefreshTokenBytes() {
+ java.lang.Object ref = "";
+ if (credentialSpecifierCase_ == 3) {
+ ref = credentialSpecifier_;
+ }
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (credentialSpecifierCase_ == 3) {
+ credentialSpecifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ public Builder setGoogleRefreshToken(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifierCase_ = 3;
+ credentialSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ public Builder clearGoogleRefreshToken() {
+ if (credentialSpecifierCase_ == 3) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Google refresh token credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ * </pre>
+ *
+ * <code>string google_refresh_token = 3;</code>
+ */
+ public Builder setGoogleRefreshTokenBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ credentialSpecifierCase_ = 3;
+ credentialSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentialsOrBuilder> serviceAccountJwtAccessBuilder_;
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public boolean hasServiceAccountJwtAccess() {
+ return credentialSpecifierCase_ == 4;
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials getServiceAccountJwtAccess() {
+ if (serviceAccountJwtAccessBuilder_ == null) {
+ if (credentialSpecifierCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance();
+ } else {
+ if (credentialSpecifierCase_ == 4) {
+ return serviceAccountJwtAccessBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public Builder setServiceAccountJwtAccess(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials value) {
+ if (serviceAccountJwtAccessBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifier_ = value;
+ onChanged();
+ } else {
+ serviceAccountJwtAccessBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 4;
+ return this;
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public Builder setServiceAccountJwtAccess(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.Builder builderForValue) {
+ if (serviceAccountJwtAccessBuilder_ == null) {
+ credentialSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ serviceAccountJwtAccessBuilder_.setMessage(builderForValue.build());
+ }
+ credentialSpecifierCase_ = 4;
+ return this;
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public Builder mergeServiceAccountJwtAccess(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials value) {
+ if (serviceAccountJwtAccessBuilder_ == null) {
+ if (credentialSpecifierCase_ == 4 &&
+ credentialSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance()) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ credentialSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (credentialSpecifierCase_ == 4) {
+ serviceAccountJwtAccessBuilder_.mergeFrom(value);
+ }
+ serviceAccountJwtAccessBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 4;
+ return this;
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public Builder clearServiceAccountJwtAccess() {
+ if (serviceAccountJwtAccessBuilder_ == null) {
+ if (credentialSpecifierCase_ == 4) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (credentialSpecifierCase_ == 4) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ }
+ serviceAccountJwtAccessBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.Builder getServiceAccountJwtAccessBuilder() {
+ return getServiceAccountJwtAccessFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentialsOrBuilder getServiceAccountJwtAccessOrBuilder() {
+ if ((credentialSpecifierCase_ == 4) && (serviceAccountJwtAccessBuilder_ != null)) {
+ return serviceAccountJwtAccessBuilder_.getMessageOrBuilder();
+ } else {
+ if (credentialSpecifierCase_ == 4) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Service Account JWT Access credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentialsOrBuilder>
+ getServiceAccountJwtAccessFieldBuilder() {
+ if (serviceAccountJwtAccessBuilder_ == null) {
+ if (!(credentialSpecifierCase_ == 4)) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.getDefaultInstance();
+ }
+ serviceAccountJwtAccessBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentialsOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials) credentialSpecifier_,
+ getParentForChildren(),
+ isClean());
+ credentialSpecifier_ = null;
+ }
+ credentialSpecifierCase_ = 4;
+ onChanged();;
+ return serviceAccountJwtAccessBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentialsOrBuilder> googleIamBuilder_;
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public boolean hasGoogleIam() {
+ return credentialSpecifierCase_ == 5;
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials getGoogleIam() {
+ if (googleIamBuilder_ == null) {
+ if (credentialSpecifierCase_ == 5) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance();
+ } else {
+ if (credentialSpecifierCase_ == 5) {
+ return googleIamBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public Builder setGoogleIam(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials value) {
+ if (googleIamBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifier_ = value;
+ onChanged();
+ } else {
+ googleIamBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 5;
+ return this;
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public Builder setGoogleIam(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.Builder builderForValue) {
+ if (googleIamBuilder_ == null) {
+ credentialSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ googleIamBuilder_.setMessage(builderForValue.build());
+ }
+ credentialSpecifierCase_ = 5;
+ return this;
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public Builder mergeGoogleIam(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials value) {
+ if (googleIamBuilder_ == null) {
+ if (credentialSpecifierCase_ == 5 &&
+ credentialSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance()) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ credentialSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (credentialSpecifierCase_ == 5) {
+ googleIamBuilder_.mergeFrom(value);
+ }
+ googleIamBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 5;
+ return this;
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public Builder clearGoogleIam() {
+ if (googleIamBuilder_ == null) {
+ if (credentialSpecifierCase_ == 5) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (credentialSpecifierCase_ == 5) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ }
+ googleIamBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.Builder getGoogleIamBuilder() {
+ return getGoogleIamFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentialsOrBuilder getGoogleIamOrBuilder() {
+ if ((credentialSpecifierCase_ == 5) && (googleIamBuilder_ != null)) {
+ return googleIamBuilder_.getMessageOrBuilder();
+ } else {
+ if (credentialSpecifierCase_ == 5) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Google IAM credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials google_iam = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentialsOrBuilder>
+ getGoogleIamFieldBuilder() {
+ if (googleIamBuilder_ == null) {
+ if (!(credentialSpecifierCase_ == 5)) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.getDefaultInstance();
+ }
+ googleIamBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentialsOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials) credentialSpecifier_,
+ getParentForChildren(),
+ isClean());
+ credentialSpecifier_ = null;
+ }
+ credentialSpecifierCase_ = 5;
+ onChanged();;
+ return googleIamBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPluginOrBuilder> fromPluginBuilder_;
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public boolean hasFromPlugin() {
+ return credentialSpecifierCase_ == 6;
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin getFromPlugin() {
+ if (fromPluginBuilder_ == null) {
+ if (credentialSpecifierCase_ == 6) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance();
+ } else {
+ if (credentialSpecifierCase_ == 6) {
+ return fromPluginBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public Builder setFromPlugin(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin value) {
+ if (fromPluginBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ credentialSpecifier_ = value;
+ onChanged();
+ } else {
+ fromPluginBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 6;
+ return this;
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public Builder setFromPlugin(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.Builder builderForValue) {
+ if (fromPluginBuilder_ == null) {
+ credentialSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ fromPluginBuilder_.setMessage(builderForValue.build());
+ }
+ credentialSpecifierCase_ = 6;
+ return this;
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public Builder mergeFromPlugin(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin value) {
+ if (fromPluginBuilder_ == null) {
+ if (credentialSpecifierCase_ == 6 &&
+ credentialSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance()) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ credentialSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (credentialSpecifierCase_ == 6) {
+ fromPluginBuilder_.mergeFrom(value);
+ }
+ fromPluginBuilder_.setMessage(value);
+ }
+ credentialSpecifierCase_ = 6;
+ return this;
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public Builder clearFromPlugin() {
+ if (fromPluginBuilder_ == null) {
+ if (credentialSpecifierCase_ == 6) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (credentialSpecifierCase_ == 6) {
+ credentialSpecifierCase_ = 0;
+ credentialSpecifier_ = null;
+ }
+ fromPluginBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.Builder getFromPluginBuilder() {
+ return getFromPluginFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPluginOrBuilder getFromPluginOrBuilder() {
+ if ((credentialSpecifierCase_ == 6) && (fromPluginBuilder_ != null)) {
+ return fromPluginBuilder_.getMessageOrBuilder();
+ } else {
+ if (credentialSpecifierCase_ == 6) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Custom authenticator credentials.
+ * https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ * https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin from_plugin = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPluginOrBuilder>
+ getFromPluginFieldBuilder() {
+ if (fromPluginBuilder_ == null) {
+ if (!(credentialSpecifierCase_ == 6)) {
+ credentialSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.getDefaultInstance();
+ }
+ fromPluginBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPluginOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin) credentialSpecifier_,
+ getParentForChildren(),
+ isClean());
+ credentialSpecifier_ = null;
+ }
+ credentialSpecifierCase_ = 6;
+ onChanged();;
+ return fromPluginBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CallCredentials>
+ PARSER = new com.google.protobuf.AbstractParser<CallCredentials>() {
+ public CallCredentials parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CallCredentials(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CallCredentials> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CallCredentials> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int bitField0_;
+ public static final int TARGET_URI_FIELD_NUMBER = 1;
+ private volatile java.lang.Object targetUri_;
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getTargetUri() {
+ java.lang.Object ref = targetUri_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ targetUri_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getTargetUriBytes() {
+ java.lang.Object ref = targetUri_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ targetUri_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CHANNEL_CREDENTIALS_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channelCredentials_;
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public boolean hasChannelCredentials() {
+ return channelCredentials_ != null;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials getChannelCredentials() {
+ return channelCredentials_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.getDefaultInstance() : channelCredentials_;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentialsOrBuilder getChannelCredentialsOrBuilder() {
+ return getChannelCredentials();
+ }
+
+ public static final int CALL_CREDENTIALS_FIELD_NUMBER = 3;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials> callCredentials_;
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials> getCallCredentialsList() {
+ return callCredentials_;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder>
+ getCallCredentialsOrBuilderList() {
+ return callCredentials_;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public int getCallCredentialsCount() {
+ return callCredentials_.size();
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials getCallCredentials(int index) {
+ return callCredentials_.get(index);
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder getCallCredentialsOrBuilder(
+ int index) {
+ return callCredentials_.get(index);
+ }
+
+ public static final int STAT_PREFIX_FIELD_NUMBER = 4;
+ private volatile java.lang.Object statPrefix_;
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getStatPrefix() {
+ java.lang.Object ref = statPrefix_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ statPrefix_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getStatPrefixBytes() {
+ java.lang.Object ref = statPrefix_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ statPrefix_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CREDENTIALS_FACTORY_NAME_FIELD_NUMBER = 5;
+ private volatile java.lang.Object credentialsFactoryName_;
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ public java.lang.String getCredentialsFactoryName() {
+ java.lang.Object ref = credentialsFactoryName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ credentialsFactoryName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getCredentialsFactoryNameBytes() {
+ java.lang.Object ref = credentialsFactoryName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ credentialsFactoryName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CONFIG_FIELD_NUMBER = 6;
+ private com.google.protobuf.Struct config_;
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public boolean hasConfig() {
+ return config_ != null;
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public com.google.protobuf.Struct getConfig() {
+ return config_ == null ? com.google.protobuf.Struct.getDefaultInstance() : config_;
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getConfigOrBuilder() {
+ return getConfig();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getTargetUriBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, targetUri_);
+ }
+ if (channelCredentials_ != null) {
+ output.writeMessage(2, getChannelCredentials());
+ }
+ for (int i = 0; i < callCredentials_.size(); i++) {
+ output.writeMessage(3, callCredentials_.get(i));
+ }
+ if (!getStatPrefixBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, statPrefix_);
+ }
+ if (!getCredentialsFactoryNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 5, credentialsFactoryName_);
+ }
+ if (config_ != null) {
+ output.writeMessage(6, getConfig());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getTargetUriBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, targetUri_);
+ }
+ if (channelCredentials_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getChannelCredentials());
+ }
+ for (int i = 0; i < callCredentials_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, callCredentials_.get(i));
+ }
+ if (!getStatPrefixBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, statPrefix_);
+ }
+ if (!getCredentialsFactoryNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, credentialsFactoryName_);
+ }
+ if (config_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getConfig());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) obj;
+
+ boolean result = true;
+ result = result && getTargetUri()
+ .equals(other.getTargetUri());
+ result = result && (hasChannelCredentials() == other.hasChannelCredentials());
+ if (hasChannelCredentials()) {
+ result = result && getChannelCredentials()
+ .equals(other.getChannelCredentials());
+ }
+ result = result && getCallCredentialsList()
+ .equals(other.getCallCredentialsList());
+ result = result && getStatPrefix()
+ .equals(other.getStatPrefix());
+ result = result && getCredentialsFactoryName()
+ .equals(other.getCredentialsFactoryName());
+ result = result && (hasConfig() == other.hasConfig());
+ if (hasConfig()) {
+ result = result && getConfig()
+ .equals(other.getConfig());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + TARGET_URI_FIELD_NUMBER;
+ hash = (53 * hash) + getTargetUri().hashCode();
+ if (hasChannelCredentials()) {
+ hash = (37 * hash) + CHANNEL_CREDENTIALS_FIELD_NUMBER;
+ hash = (53 * hash) + getChannelCredentials().hashCode();
+ }
+ if (getCallCredentialsCount() > 0) {
+ hash = (37 * hash) + CALL_CREDENTIALS_FIELD_NUMBER;
+ hash = (53 * hash) + getCallCredentialsList().hashCode();
+ }
+ hash = (37 * hash) + STAT_PREFIX_FIELD_NUMBER;
+ hash = (53 * hash) + getStatPrefix().hashCode();
+ hash = (37 * hash) + CREDENTIALS_FACTORY_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getCredentialsFactoryName().hashCode();
+ if (hasConfig()) {
+ hash = (37 * hash) + CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getConfig().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * [#proto-status: draft]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService.GoogleGrpc}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService.GoogleGrpc)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpcOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getCallCredentialsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ targetUri_ = "";
+
+ if (channelCredentialsBuilder_ == null) {
+ channelCredentials_ = null;
+ } else {
+ channelCredentials_ = null;
+ channelCredentialsBuilder_ = null;
+ }
+ if (callCredentialsBuilder_ == null) {
+ callCredentials_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ callCredentialsBuilder_.clear();
+ }
+ statPrefix_ = "";
+
+ credentialsFactoryName_ = "";
+
+ if (configBuilder_ == null) {
+ config_ = null;
+ } else {
+ config_ = null;
+ configBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.targetUri_ = targetUri_;
+ if (channelCredentialsBuilder_ == null) {
+ result.channelCredentials_ = channelCredentials_;
+ } else {
+ result.channelCredentials_ = channelCredentialsBuilder_.build();
+ }
+ if (callCredentialsBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ callCredentials_ = java.util.Collections.unmodifiableList(callCredentials_);
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.callCredentials_ = callCredentials_;
+ } else {
+ result.callCredentials_ = callCredentialsBuilder_.build();
+ }
+ result.statPrefix_ = statPrefix_;
+ result.credentialsFactoryName_ = credentialsFactoryName_;
+ if (configBuilder_ == null) {
+ result.config_ = config_;
+ } else {
+ result.config_ = configBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance()) return this;
+ if (!other.getTargetUri().isEmpty()) {
+ targetUri_ = other.targetUri_;
+ onChanged();
+ }
+ if (other.hasChannelCredentials()) {
+ mergeChannelCredentials(other.getChannelCredentials());
+ }
+ if (callCredentialsBuilder_ == null) {
+ if (!other.callCredentials_.isEmpty()) {
+ if (callCredentials_.isEmpty()) {
+ callCredentials_ = other.callCredentials_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureCallCredentialsIsMutable();
+ callCredentials_.addAll(other.callCredentials_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.callCredentials_.isEmpty()) {
+ if (callCredentialsBuilder_.isEmpty()) {
+ callCredentialsBuilder_.dispose();
+ callCredentialsBuilder_ = null;
+ callCredentials_ = other.callCredentials_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ callCredentialsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getCallCredentialsFieldBuilder() : null;
+ } else {
+ callCredentialsBuilder_.addAllMessages(other.callCredentials_);
+ }
+ }
+ }
+ if (!other.getStatPrefix().isEmpty()) {
+ statPrefix_ = other.statPrefix_;
+ onChanged();
+ }
+ if (!other.getCredentialsFactoryName().isEmpty()) {
+ credentialsFactoryName_ = other.credentialsFactoryName_;
+ onChanged();
+ }
+ if (other.hasConfig()) {
+ mergeConfig(other.getConfig());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object targetUri_ = "";
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getTargetUri() {
+ java.lang.Object ref = targetUri_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ targetUri_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getTargetUriBytes() {
+ java.lang.Object ref = targetUri_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ targetUri_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTargetUri(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ targetUri_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearTargetUri() {
+
+ targetUri_ = getDefaultInstance().getTargetUri();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The target URI when using the `Google C++ gRPC client
+ * &lt;https://github.com/grpc/grpc&gt;`_. SSL credentials will be supplied in
+ * :ref:`channel_credentials &lt;envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials&gt;`.
+ * </pre>
+ *
+ * <code>string target_uri = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTargetUriBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ targetUri_ = value;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channelCredentials_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentialsOrBuilder> channelCredentialsBuilder_;
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public boolean hasChannelCredentials() {
+ return channelCredentialsBuilder_ != null || channelCredentials_ != null;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials getChannelCredentials() {
+ if (channelCredentialsBuilder_ == null) {
+ return channelCredentials_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.getDefaultInstance() : channelCredentials_;
+ } else {
+ return channelCredentialsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public Builder setChannelCredentials(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials value) {
+ if (channelCredentialsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ channelCredentials_ = value;
+ onChanged();
+ } else {
+ channelCredentialsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public Builder setChannelCredentials(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.Builder builderForValue) {
+ if (channelCredentialsBuilder_ == null) {
+ channelCredentials_ = builderForValue.build();
+ onChanged();
+ } else {
+ channelCredentialsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public Builder mergeChannelCredentials(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials value) {
+ if (channelCredentialsBuilder_ == null) {
+ if (channelCredentials_ != null) {
+ channelCredentials_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.newBuilder(channelCredentials_).mergeFrom(value).buildPartial();
+ } else {
+ channelCredentials_ = value;
+ }
+ onChanged();
+ } else {
+ channelCredentialsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public Builder clearChannelCredentials() {
+ if (channelCredentialsBuilder_ == null) {
+ channelCredentials_ = null;
+ onChanged();
+ } else {
+ channelCredentials_ = null;
+ channelCredentialsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.Builder getChannelCredentialsBuilder() {
+
+ onChanged();
+ return getChannelCredentialsFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentialsOrBuilder getChannelCredentialsOrBuilder() {
+ if (channelCredentialsBuilder_ != null) {
+ return channelCredentialsBuilder_.getMessageOrBuilder();
+ } else {
+ return channelCredentials_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.getDefaultInstance() : channelCredentials_;
+ }
+ }
+ /**
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials channel_credentials = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentialsOrBuilder>
+ getChannelCredentialsFieldBuilder() {
+ if (channelCredentialsBuilder_ == null) {
+ channelCredentialsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.ChannelCredentialsOrBuilder>(
+ getChannelCredentials(),
+ getParentForChildren(),
+ isClean());
+ channelCredentials_ = null;
+ }
+ return channelCredentialsBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials> callCredentials_ =
+ java.util.Collections.emptyList();
+ private void ensureCallCredentialsIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ callCredentials_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials>(callCredentials_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder> callCredentialsBuilder_;
+
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials> getCallCredentialsList() {
+ if (callCredentialsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(callCredentials_);
+ } else {
+ return callCredentialsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public int getCallCredentialsCount() {
+ if (callCredentialsBuilder_ == null) {
+ return callCredentials_.size();
+ } else {
+ return callCredentialsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials getCallCredentials(int index) {
+ if (callCredentialsBuilder_ == null) {
+ return callCredentials_.get(index);
+ } else {
+ return callCredentialsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder setCallCredentials(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials value) {
+ if (callCredentialsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCallCredentialsIsMutable();
+ callCredentials_.set(index, value);
+ onChanged();
+ } else {
+ callCredentialsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder setCallCredentials(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder builderForValue) {
+ if (callCredentialsBuilder_ == null) {
+ ensureCallCredentialsIsMutable();
+ callCredentials_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ callCredentialsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder addCallCredentials(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials value) {
+ if (callCredentialsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCallCredentialsIsMutable();
+ callCredentials_.add(value);
+ onChanged();
+ } else {
+ callCredentialsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder addCallCredentials(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials value) {
+ if (callCredentialsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureCallCredentialsIsMutable();
+ callCredentials_.add(index, value);
+ onChanged();
+ } else {
+ callCredentialsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder addCallCredentials(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder builderForValue) {
+ if (callCredentialsBuilder_ == null) {
+ ensureCallCredentialsIsMutable();
+ callCredentials_.add(builderForValue.build());
+ onChanged();
+ } else {
+ callCredentialsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder addCallCredentials(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder builderForValue) {
+ if (callCredentialsBuilder_ == null) {
+ ensureCallCredentialsIsMutable();
+ callCredentials_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ callCredentialsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder addAllCallCredentials(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials> values) {
+ if (callCredentialsBuilder_ == null) {
+ ensureCallCredentialsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, callCredentials_);
+ onChanged();
+ } else {
+ callCredentialsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder clearCallCredentials() {
+ if (callCredentialsBuilder_ == null) {
+ callCredentials_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ } else {
+ callCredentialsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public Builder removeCallCredentials(int index) {
+ if (callCredentialsBuilder_ == null) {
+ ensureCallCredentialsIsMutable();
+ callCredentials_.remove(index);
+ onChanged();
+ } else {
+ callCredentialsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder getCallCredentialsBuilder(
+ int index) {
+ return getCallCredentialsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder getCallCredentialsOrBuilder(
+ int index) {
+ if (callCredentialsBuilder_ == null) {
+ return callCredentials_.get(index); } else {
+ return callCredentialsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder>
+ getCallCredentialsOrBuilderList() {
+ if (callCredentialsBuilder_ != null) {
+ return callCredentialsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(callCredentials_);
+ }
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder addCallCredentialsBuilder() {
+ return getCallCredentialsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder addCallCredentialsBuilder(
+ int index) {
+ return getCallCredentialsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * A set of call credentials that can be composed with `channel credentials
+ * &lt;https://grpc.io/docs/guides/auth.html#credential-types&gt;`_.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials call_credentials = 3;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder>
+ getCallCredentialsBuilderList() {
+ return getCallCredentialsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder>
+ getCallCredentialsFieldBuilder() {
+ if (callCredentialsBuilder_ == null) {
+ callCredentialsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentials.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.CallCredentialsOrBuilder>(
+ callCredentials_,
+ ((bitField0_ & 0x00000004) == 0x00000004),
+ getParentForChildren(),
+ isClean());
+ callCredentials_ = null;
+ }
+ return callCredentialsBuilder_;
+ }
+
+ private java.lang.Object statPrefix_ = "";
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getStatPrefix() {
+ java.lang.Object ref = statPrefix_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ statPrefix_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getStatPrefixBytes() {
+ java.lang.Object ref = statPrefix_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ statPrefix_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setStatPrefix(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ statPrefix_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearStatPrefix() {
+
+ statPrefix_ = getDefaultInstance().getStatPrefix();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The human readable prefix to use when emitting statistics for the gRPC
+ * service.
+ * .. csv-table::
+ * :header: Name, Type, Description
+ * :widths: 1, 1, 2
+ * streams_total, Counter, Total number of streams opened
+ * streams_closed_&lt;gRPC status code&gt;, Counter, Total streams closed with &lt;gRPC status code&gt;
+ * </pre>
+ *
+ * <code>string stat_prefix = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setStatPrefixBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ statPrefix_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object credentialsFactoryName_ = "";
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ public java.lang.String getCredentialsFactoryName() {
+ java.lang.Object ref = credentialsFactoryName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ credentialsFactoryName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getCredentialsFactoryNameBytes() {
+ java.lang.Object ref = credentialsFactoryName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ credentialsFactoryName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ public Builder setCredentialsFactoryName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ credentialsFactoryName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ public Builder clearCredentialsFactoryName() {
+
+ credentialsFactoryName_ = getDefaultInstance().getCredentialsFactoryName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the Google gRPC credentials factory to use. This must have been registered with
+ * Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ * credentials based on other configuration parameters.
+ * </pre>
+ *
+ * <code>string credentials_factory_name = 5;</code>
+ */
+ public Builder setCredentialsFactoryNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ credentialsFactoryName_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Struct config_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> configBuilder_;
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public boolean hasConfig() {
+ return configBuilder_ != null || config_ != null;
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public com.google.protobuf.Struct getConfig() {
+ if (configBuilder_ == null) {
+ return config_ == null ? com.google.protobuf.Struct.getDefaultInstance() : config_;
+ } else {
+ return configBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public Builder setConfig(com.google.protobuf.Struct value) {
+ if (configBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ config_ = value;
+ onChanged();
+ } else {
+ configBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public Builder setConfig(
+ com.google.protobuf.Struct.Builder builderForValue) {
+ if (configBuilder_ == null) {
+ config_ = builderForValue.build();
+ onChanged();
+ } else {
+ configBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public Builder mergeConfig(com.google.protobuf.Struct value) {
+ if (configBuilder_ == null) {
+ if (config_ != null) {
+ config_ =
+ com.google.protobuf.Struct.newBuilder(config_).mergeFrom(value).buildPartial();
+ } else {
+ config_ = value;
+ }
+ onChanged();
+ } else {
+ configBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public Builder clearConfig() {
+ if (configBuilder_ == null) {
+ config_ = null;
+ onChanged();
+ } else {
+ config_ = null;
+ configBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public com.google.protobuf.Struct.Builder getConfigBuilder() {
+
+ onChanged();
+ return getConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getConfigOrBuilder() {
+ if (configBuilder_ != null) {
+ return configBuilder_.getMessageOrBuilder();
+ } else {
+ return config_ == null ?
+ com.google.protobuf.Struct.getDefaultInstance() : config_;
+ }
+ }
+ /**
+ * <pre>
+ * Additional configuration for site-specific customizations of the Google
+ * gRPC library.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct config = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>
+ getConfigFieldBuilder() {
+ if (configBuilder_ == null) {
+ configBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>(
+ getConfig(),
+ getParentForChildren(),
+ isClean());
+ config_ = null;
+ }
+ return configBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService.GoogleGrpc)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService.GoogleGrpc)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<GoogleGrpc>
+ PARSER = new com.google.protobuf.AbstractParser<GoogleGrpc>() {
+ public GoogleGrpc parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new GoogleGrpc(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<GoogleGrpc> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<GoogleGrpc> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int bitField0_;
+ private int targetSpecifierCase_ = 0;
+ private java.lang.Object targetSpecifier_;
+ public enum TargetSpecifierCase
+ implements com.google.protobuf.Internal.EnumLite {
+ ENVOY_GRPC(1),
+ GOOGLE_GRPC(2),
+ TARGETSPECIFIER_NOT_SET(0);
+ private final int value;
+ private TargetSpecifierCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static TargetSpecifierCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static TargetSpecifierCase forNumber(int value) {
+ switch (value) {
+ case 1: return ENVOY_GRPC;
+ case 2: return GOOGLE_GRPC;
+ case 0: return TARGETSPECIFIER_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public TargetSpecifierCase
+ getTargetSpecifierCase() {
+ return TargetSpecifierCase.forNumber(
+ targetSpecifierCase_);
+ }
+
+ public static final int ENVOY_GRPC_FIELD_NUMBER = 1;
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public boolean hasEnvoyGrpc() {
+ return targetSpecifierCase_ == 1;
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc getEnvoyGrpc() {
+ if (targetSpecifierCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpcOrBuilder getEnvoyGrpcOrBuilder() {
+ if (targetSpecifierCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance();
+ }
+
+ public static final int GOOGLE_GRPC_FIELD_NUMBER = 2;
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public boolean hasGoogleGrpc() {
+ return targetSpecifierCase_ == 2;
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc getGoogleGrpc() {
+ if (targetSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpcOrBuilder getGoogleGrpcOrBuilder() {
+ if (targetSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance();
+ }
+
+ public static final int TIMEOUT_FIELD_NUMBER = 3;
+ private com.google.protobuf.Duration timeout_;
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public boolean hasTimeout() {
+ return timeout_ != null;
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public com.google.protobuf.Duration getTimeout() {
+ return timeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeout_;
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder() {
+ return getTimeout();
+ }
+
+ public static final int INITIAL_METADATA_FIELD_NUMBER = 5;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue> initialMetadata_;
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue> getInitialMetadataList() {
+ return initialMetadata_;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder>
+ getInitialMetadataOrBuilderList() {
+ return initialMetadata_;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public int getInitialMetadataCount() {
+ return initialMetadata_.size();
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getInitialMetadata(int index) {
+ return initialMetadata_.get(index);
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder getInitialMetadataOrBuilder(
+ int index) {
+ return initialMetadata_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (targetSpecifierCase_ == 1) {
+ output.writeMessage(1, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_);
+ }
+ if (targetSpecifierCase_ == 2) {
+ output.writeMessage(2, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_);
+ }
+ if (timeout_ != null) {
+ output.writeMessage(3, getTimeout());
+ }
+ for (int i = 0; i < initialMetadata_.size(); i++) {
+ output.writeMessage(5, initialMetadata_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (targetSpecifierCase_ == 1) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_);
+ }
+ if (targetSpecifierCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_);
+ }
+ if (timeout_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getTimeout());
+ }
+ for (int i = 0; i < initialMetadata_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, initialMetadata_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService other = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService) obj;
+
+ boolean result = true;
+ result = result && (hasTimeout() == other.hasTimeout());
+ if (hasTimeout()) {
+ result = result && getTimeout()
+ .equals(other.getTimeout());
+ }
+ result = result && getInitialMetadataList()
+ .equals(other.getInitialMetadataList());
+ result = result && getTargetSpecifierCase().equals(
+ other.getTargetSpecifierCase());
+ if (!result) return false;
+ switch (targetSpecifierCase_) {
+ case 1:
+ result = result && getEnvoyGrpc()
+ .equals(other.getEnvoyGrpc());
+ break;
+ case 2:
+ result = result && getGoogleGrpc()
+ .equals(other.getGoogleGrpc());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasTimeout()) {
+ hash = (37 * hash) + TIMEOUT_FIELD_NUMBER;
+ hash = (53 * hash) + getTimeout().hashCode();
+ }
+ if (getInitialMetadataCount() > 0) {
+ hash = (37 * hash) + INITIAL_METADATA_FIELD_NUMBER;
+ hash = (53 * hash) + getInitialMetadataList().hashCode();
+ }
+ switch (targetSpecifierCase_) {
+ case 1:
+ hash = (37 * hash) + ENVOY_GRPC_FIELD_NUMBER;
+ hash = (53 * hash) + getEnvoyGrpc().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + GOOGLE_GRPC_FIELD_NUMBER;
+ hash = (53 * hash) + getGoogleGrpc().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * gRPC service configuration. This is used by :ref:`ApiConfigSource
+ * &lt;envoy_api_msg_core.ApiConfigSource&gt;` and filter configurations.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.GrpcService}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.GrpcService)
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.class, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getInitialMetadataFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (timeoutBuilder_ == null) {
+ timeout_ = null;
+ } else {
+ timeout_ = null;
+ timeoutBuilder_ = null;
+ }
+ if (initialMetadataBuilder_ == null) {
+ initialMetadata_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ initialMetadataBuilder_.clear();
+ }
+ targetSpecifierCase_ = 0;
+ targetSpecifier_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcServiceOuterClass.internal_static_envoy_api_v2_core_GrpcService_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService result = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (targetSpecifierCase_ == 1) {
+ if (envoyGrpcBuilder_ == null) {
+ result.targetSpecifier_ = targetSpecifier_;
+ } else {
+ result.targetSpecifier_ = envoyGrpcBuilder_.build();
+ }
+ }
+ if (targetSpecifierCase_ == 2) {
+ if (googleGrpcBuilder_ == null) {
+ result.targetSpecifier_ = targetSpecifier_;
+ } else {
+ result.targetSpecifier_ = googleGrpcBuilder_.build();
+ }
+ }
+ if (timeoutBuilder_ == null) {
+ result.timeout_ = timeout_;
+ } else {
+ result.timeout_ = timeoutBuilder_.build();
+ }
+ if (initialMetadataBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ initialMetadata_ = java.util.Collections.unmodifiableList(initialMetadata_);
+ bitField0_ = (bitField0_ & ~0x00000008);
+ }
+ result.initialMetadata_ = initialMetadata_;
+ } else {
+ result.initialMetadata_ = initialMetadataBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ result.targetSpecifierCase_ = targetSpecifierCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.GrpcService) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.getDefaultInstance()) return this;
+ if (other.hasTimeout()) {
+ mergeTimeout(other.getTimeout());
+ }
+ if (initialMetadataBuilder_ == null) {
+ if (!other.initialMetadata_.isEmpty()) {
+ if (initialMetadata_.isEmpty()) {
+ initialMetadata_ = other.initialMetadata_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ ensureInitialMetadataIsMutable();
+ initialMetadata_.addAll(other.initialMetadata_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.initialMetadata_.isEmpty()) {
+ if (initialMetadataBuilder_.isEmpty()) {
+ initialMetadataBuilder_.dispose();
+ initialMetadataBuilder_ = null;
+ initialMetadata_ = other.initialMetadata_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ initialMetadataBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getInitialMetadataFieldBuilder() : null;
+ } else {
+ initialMetadataBuilder_.addAllMessages(other.initialMetadata_);
+ }
+ }
+ }
+ switch (other.getTargetSpecifierCase()) {
+ case ENVOY_GRPC: {
+ mergeEnvoyGrpc(other.getEnvoyGrpc());
+ break;
+ }
+ case GOOGLE_GRPC: {
+ mergeGoogleGrpc(other.getGoogleGrpc());
+ break;
+ }
+ case TARGETSPECIFIER_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int targetSpecifierCase_ = 0;
+ private java.lang.Object targetSpecifier_;
+ public TargetSpecifierCase
+ getTargetSpecifierCase() {
+ return TargetSpecifierCase.forNumber(
+ targetSpecifierCase_);
+ }
+
+ public Builder clearTargetSpecifier() {
+ targetSpecifierCase_ = 0;
+ targetSpecifier_ = null;
+ onChanged();
+ return this;
+ }
+
+ private int bitField0_;
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpcOrBuilder> envoyGrpcBuilder_;
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public boolean hasEnvoyGrpc() {
+ return targetSpecifierCase_ == 1;
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc getEnvoyGrpc() {
+ if (envoyGrpcBuilder_ == null) {
+ if (targetSpecifierCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance();
+ } else {
+ if (targetSpecifierCase_ == 1) {
+ return envoyGrpcBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public Builder setEnvoyGrpc(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc value) {
+ if (envoyGrpcBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ targetSpecifier_ = value;
+ onChanged();
+ } else {
+ envoyGrpcBuilder_.setMessage(value);
+ }
+ targetSpecifierCase_ = 1;
+ return this;
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public Builder setEnvoyGrpc(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.Builder builderForValue) {
+ if (envoyGrpcBuilder_ == null) {
+ targetSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ envoyGrpcBuilder_.setMessage(builderForValue.build());
+ }
+ targetSpecifierCase_ = 1;
+ return this;
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public Builder mergeEnvoyGrpc(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc value) {
+ if (envoyGrpcBuilder_ == null) {
+ if (targetSpecifierCase_ == 1 &&
+ targetSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance()) {
+ targetSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ targetSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (targetSpecifierCase_ == 1) {
+ envoyGrpcBuilder_.mergeFrom(value);
+ }
+ envoyGrpcBuilder_.setMessage(value);
+ }
+ targetSpecifierCase_ = 1;
+ return this;
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public Builder clearEnvoyGrpc() {
+ if (envoyGrpcBuilder_ == null) {
+ if (targetSpecifierCase_ == 1) {
+ targetSpecifierCase_ = 0;
+ targetSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (targetSpecifierCase_ == 1) {
+ targetSpecifierCase_ = 0;
+ targetSpecifier_ = null;
+ }
+ envoyGrpcBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.Builder getEnvoyGrpcBuilder() {
+ return getEnvoyGrpcFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpcOrBuilder getEnvoyGrpcOrBuilder() {
+ if ((targetSpecifierCase_ == 1) && (envoyGrpcBuilder_ != null)) {
+ return envoyGrpcBuilder_.getMessageOrBuilder();
+ } else {
+ if (targetSpecifierCase_ == 1) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpcOrBuilder>
+ getEnvoyGrpcFieldBuilder() {
+ if (envoyGrpcBuilder_ == null) {
+ if (!(targetSpecifierCase_ == 1)) {
+ targetSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.getDefaultInstance();
+ }
+ envoyGrpcBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpcOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc) targetSpecifier_,
+ getParentForChildren(),
+ isClean());
+ targetSpecifier_ = null;
+ }
+ targetSpecifierCase_ = 1;
+ onChanged();;
+ return envoyGrpcBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpcOrBuilder> googleGrpcBuilder_;
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public boolean hasGoogleGrpc() {
+ return targetSpecifierCase_ == 2;
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc getGoogleGrpc() {
+ if (googleGrpcBuilder_ == null) {
+ if (targetSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance();
+ } else {
+ if (targetSpecifierCase_ == 2) {
+ return googleGrpcBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public Builder setGoogleGrpc(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc value) {
+ if (googleGrpcBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ targetSpecifier_ = value;
+ onChanged();
+ } else {
+ googleGrpcBuilder_.setMessage(value);
+ }
+ targetSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public Builder setGoogleGrpc(
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.Builder builderForValue) {
+ if (googleGrpcBuilder_ == null) {
+ targetSpecifier_ = builderForValue.build();
+ onChanged();
+ } else {
+ googleGrpcBuilder_.setMessage(builderForValue.build());
+ }
+ targetSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public Builder mergeGoogleGrpc(io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc value) {
+ if (googleGrpcBuilder_ == null) {
+ if (targetSpecifierCase_ == 2 &&
+ targetSpecifier_ != io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance()) {
+ targetSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ targetSpecifier_ = value;
+ }
+ onChanged();
+ } else {
+ if (targetSpecifierCase_ == 2) {
+ googleGrpcBuilder_.mergeFrom(value);
+ }
+ googleGrpcBuilder_.setMessage(value);
+ }
+ targetSpecifierCase_ = 2;
+ return this;
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public Builder clearGoogleGrpc() {
+ if (googleGrpcBuilder_ == null) {
+ if (targetSpecifierCase_ == 2) {
+ targetSpecifierCase_ = 0;
+ targetSpecifier_ = null;
+ onChanged();
+ }
+ } else {
+ if (targetSpecifierCase_ == 2) {
+ targetSpecifierCase_ = 0;
+ targetSpecifier_ = null;
+ }
+ googleGrpcBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.Builder getGoogleGrpcBuilder() {
+ return getGoogleGrpcFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpcOrBuilder getGoogleGrpcOrBuilder() {
+ if ((targetSpecifierCase_ == 2) && (googleGrpcBuilder_ != null)) {
+ return googleGrpcBuilder_.getMessageOrBuilder();
+ } else {
+ if (targetSpecifierCase_ == 2) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpcOrBuilder>
+ getGoogleGrpcFieldBuilder() {
+ if (googleGrpcBuilder_ == null) {
+ if (!(targetSpecifierCase_ == 2)) {
+ targetSpecifier_ = io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.getDefaultInstance();
+ }
+ googleGrpcBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc.Builder, io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpcOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc) targetSpecifier_,
+ getParentForChildren(),
+ isClean());
+ targetSpecifier_ = null;
+ }
+ targetSpecifierCase_ = 2;
+ onChanged();;
+ return googleGrpcBuilder_;
+ }
+
+ private com.google.protobuf.Duration timeout_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeoutBuilder_;
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public boolean hasTimeout() {
+ return timeoutBuilder_ != null || timeout_ != null;
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public com.google.protobuf.Duration getTimeout() {
+ if (timeoutBuilder_ == null) {
+ return timeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeout_;
+ } else {
+ return timeoutBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public Builder setTimeout(com.google.protobuf.Duration value) {
+ if (timeoutBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ timeout_ = value;
+ onChanged();
+ } else {
+ timeoutBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public Builder setTimeout(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (timeoutBuilder_ == null) {
+ timeout_ = builderForValue.build();
+ onChanged();
+ } else {
+ timeoutBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public Builder mergeTimeout(com.google.protobuf.Duration value) {
+ if (timeoutBuilder_ == null) {
+ if (timeout_ != null) {
+ timeout_ =
+ com.google.protobuf.Duration.newBuilder(timeout_).mergeFrom(value).buildPartial();
+ } else {
+ timeout_ = value;
+ }
+ onChanged();
+ } else {
+ timeoutBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public Builder clearTimeout() {
+ if (timeoutBuilder_ == null) {
+ timeout_ = null;
+ onChanged();
+ } else {
+ timeout_ = null;
+ timeoutBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public com.google.protobuf.Duration.Builder getTimeoutBuilder() {
+
+ onChanged();
+ return getTimeoutFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder() {
+ if (timeoutBuilder_ != null) {
+ return timeoutBuilder_.getMessageOrBuilder();
+ } else {
+ return timeout_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : timeout_;
+ }
+ }
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getTimeoutFieldBuilder() {
+ if (timeoutBuilder_ == null) {
+ timeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getTimeout(),
+ getParentForChildren(),
+ isClean());
+ timeout_ = null;
+ }
+ return timeoutBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue> initialMetadata_ =
+ java.util.Collections.emptyList();
+ private void ensureInitialMetadataIsMutable() {
+ if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+ initialMetadata_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue>(initialMetadata_);
+ bitField0_ |= 0x00000008;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder> initialMetadataBuilder_;
+
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue> getInitialMetadataList() {
+ if (initialMetadataBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(initialMetadata_);
+ } else {
+ return initialMetadataBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public int getInitialMetadataCount() {
+ if (initialMetadataBuilder_ == null) {
+ return initialMetadata_.size();
+ } else {
+ return initialMetadataBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getInitialMetadata(int index) {
+ if (initialMetadataBuilder_ == null) {
+ return initialMetadata_.get(index);
+ } else {
+ return initialMetadataBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder setInitialMetadata(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue value) {
+ if (initialMetadataBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInitialMetadataIsMutable();
+ initialMetadata_.set(index, value);
+ onChanged();
+ } else {
+ initialMetadataBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder setInitialMetadata(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder builderForValue) {
+ if (initialMetadataBuilder_ == null) {
+ ensureInitialMetadataIsMutable();
+ initialMetadata_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ initialMetadataBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder addInitialMetadata(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue value) {
+ if (initialMetadataBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInitialMetadataIsMutable();
+ initialMetadata_.add(value);
+ onChanged();
+ } else {
+ initialMetadataBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder addInitialMetadata(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue value) {
+ if (initialMetadataBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInitialMetadataIsMutable();
+ initialMetadata_.add(index, value);
+ onChanged();
+ } else {
+ initialMetadataBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder addInitialMetadata(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder builderForValue) {
+ if (initialMetadataBuilder_ == null) {
+ ensureInitialMetadataIsMutable();
+ initialMetadata_.add(builderForValue.build());
+ onChanged();
+ } else {
+ initialMetadataBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder addInitialMetadata(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder builderForValue) {
+ if (initialMetadataBuilder_ == null) {
+ ensureInitialMetadataIsMutable();
+ initialMetadata_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ initialMetadataBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder addAllInitialMetadata(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue> values) {
+ if (initialMetadataBuilder_ == null) {
+ ensureInitialMetadataIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, initialMetadata_);
+ onChanged();
+ } else {
+ initialMetadataBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder clearInitialMetadata() {
+ if (initialMetadataBuilder_ == null) {
+ initialMetadata_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ onChanged();
+ } else {
+ initialMetadataBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public Builder removeInitialMetadata(int index) {
+ if (initialMetadataBuilder_ == null) {
+ ensureInitialMetadataIsMutable();
+ initialMetadata_.remove(index);
+ onChanged();
+ } else {
+ initialMetadataBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder getInitialMetadataBuilder(
+ int index) {
+ return getInitialMetadataFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder getInitialMetadataOrBuilder(
+ int index) {
+ if (initialMetadataBuilder_ == null) {
+ return initialMetadata_.get(index); } else {
+ return initialMetadataBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder>
+ getInitialMetadataOrBuilderList() {
+ if (initialMetadataBuilder_ != null) {
+ return initialMetadataBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(initialMetadata_);
+ }
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder addInitialMetadataBuilder() {
+ return getInitialMetadataFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder addInitialMetadataBuilder(
+ int index) {
+ return getInitialMetadataFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder>
+ getInitialMetadataBuilderList() {
+ return getInitialMetadataFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder>
+ getInitialMetadataFieldBuilder() {
+ if (initialMetadataBuilder_ == null) {
+ initialMetadataBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder>(
+ initialMetadata_,
+ ((bitField0_ & 0x00000008) == 0x00000008),
+ getParentForChildren(),
+ isClean());
+ initialMetadata_ = null;
+ }
+ return initialMetadataBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.GrpcService)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.GrpcService)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.GrpcService DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.GrpcService();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.GrpcService getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<GrpcService>
+ PARSER = new com.google.protobuf.AbstractParser<GrpcService>() {
+ public GrpcService parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new GrpcService(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<GrpcService> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<GrpcService> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcServiceOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcServiceOrBuilder.java
new file mode 100644
index 000000000..ff42f2ce3
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcServiceOrBuilder.java
@@ -0,0 +1,155 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/grpc_service.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface GrpcServiceOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.GrpcService)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ boolean hasEnvoyGrpc();
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpc getEnvoyGrpc();
+ /**
+ * <pre>
+ * Envoy's in-built gRPC client.
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.EnvoyGrpc envoy_grpc = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.EnvoyGrpcOrBuilder getEnvoyGrpcOrBuilder();
+
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ boolean hasGoogleGrpc();
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpc getGoogleGrpc();
+ /**
+ * <pre>
+ * `Google C++ gRPC client &lt;https://github.com/grpc/grpc&gt;`_
+ * See the :ref:`gRPC services overview &lt;arch_overview_grpc_services&gt;`
+ * documentation for discussion on gRPC client selection.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.GrpcService.GoogleGrpc google_grpc = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.GoogleGrpcOrBuilder getGoogleGrpcOrBuilder();
+
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ boolean hasTimeout();
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ com.google.protobuf.Duration getTimeout();
+ /**
+ * <pre>
+ * The timeout for the gRPC request. This is the timeout for a specific
+ * request.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 3;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder();
+
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue>
+ getInitialMetadataList();
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getInitialMetadata(int index);
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ int getInitialMetadataCount();
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder>
+ getInitialMetadataOrBuilderList();
+ /**
+ * <pre>
+ * Additional metadata to include in streams initiated to the GrpcService.
+ * This can be used for scenarios in which additional ad hoc authorization
+ * headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValue initial_metadata = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder getInitialMetadataOrBuilder(
+ int index);
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.GrpcService.TargetSpecifierCase getTargetSpecifierCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcServiceOuterClass.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcServiceOuterClass.java
new file mode 100644
index 000000000..b93cb0737
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/GrpcServiceOuterClass.java
@@ -0,0 +1,227 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/grpc_service.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public final class GrpcServiceOuterClass {
+ private GrpcServiceOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n$envoy/api/v2/core/grpc_service.proto\022\021" +
+ "envoy.api.v2.core\032\034envoy/api/v2/core/bas" +
+ "e.proto\032\031google/protobuf/any.proto\032\036goog" +
+ "le/protobuf/duration.proto\032\034google/proto" +
+ "buf/struct.proto\032\033google/protobuf/empty." +
+ "proto\032\027validate/validate.proto\"\260\017\n\013GrpcS" +
+ "ervice\022>\n\nenvoy_grpc\030\001 \001(\0132(.envoy.api.v" +
+ "2.core.GrpcService.EnvoyGrpcH\000\022@\n\013google" +
+ "_grpc\030\002 \001(\0132).envoy.api.v2.core.GrpcServ" +
+ "ice.GoogleGrpcH\000\022*\n\007timeout\030\003 \001(\0132\031.goog" +
+ "le.protobuf.Duration\0228\n\020initial_metadata" +
+ "\030\005 \003(\0132\036.envoy.api.v2.core.HeaderValue\032," +
+ "\n\tEnvoyGrpc\022\037\n\014cluster_name\030\001 \001(\tB\t\272\351\300\003\004" +
+ "r\002 \001\032\351\014\n\nGoogleGrpc\022\035\n\ntarget_uri\030\001 \001(\tB" +
+ "\t\272\351\300\003\004r\002 \001\022Y\n\023channel_credentials\030\002 \001(\0132" +
+ "<.envoy.api.v2.core.GrpcService.GoogleGr" +
+ "pc.ChannelCredentials\022S\n\020call_credential" +
+ "s\030\003 \003(\01329.envoy.api.v2.core.GrpcService." +
+ "GoogleGrpc.CallCredentials\022\036\n\013stat_prefi" +
+ "x\030\004 \001(\tB\t\272\351\300\003\004r\002 \001\022 \n\030credentials_factor" +
+ "y_name\030\005 \001(\t\022\'\n\006config\030\006 \001(\0132\027.google.pr" +
+ "otobuf.Struct\032\252\001\n\016SslCredentials\0221\n\nroot" +
+ "_certs\030\001 \001(\0132\035.envoy.api.v2.core.DataSou" +
+ "rce\0222\n\013private_key\030\002 \001(\0132\035.envoy.api.v2." +
+ "core.DataSource\0221\n\ncert_chain\030\003 \001(\0132\035.en" +
+ "voy.api.v2.core.DataSource\032\030\n\026GoogleLoca" +
+ "lCredentials\032\231\002\n\022ChannelCredentials\022S\n\017s" +
+ "sl_credentials\030\001 \001(\01328.envoy.api.v2.core" +
+ ".GrpcService.GoogleGrpc.SslCredentialsH\000" +
+ "\0220\n\016google_default\030\002 \001(\0132\026.google.protob" +
+ "uf.EmptyH\000\022]\n\021local_credentials\030\003 \001(\0132@." +
+ "envoy.api.v2.core.GrpcService.GoogleGrpc" +
+ ".GoogleLocalCredentialsH\000B\035\n\024credential_" +
+ "specifier\022\005\270\351\300\003\001\032\275\006\n\017CallCredentials\022\026\n\014" +
+ "access_token\030\001 \001(\tH\000\0227\n\025google_compute_e" +
+ "ngine\030\002 \001(\0132\026.google.protobuf.EmptyH\000\022\036\n" +
+ "\024google_refresh_token\030\003 \001(\tH\000\022\202\001\n\032servic" +
+ "e_account_jwt_access\030\004 \001(\0132\\.envoy.api.v" +
+ "2.core.GrpcService.GoogleGrpc.CallCreden" +
+ "tials.ServiceAccountJWTAccessCredentials" +
+ "H\000\022d\n\ngoogle_iam\030\005 \001(\0132N.envoy.api.v2.co" +
+ "re.GrpcService.GoogleGrpc.CallCredential" +
+ "s.GoogleIAMCredentialsH\000\022n\n\013from_plugin\030" +
+ "\006 \001(\0132W.envoy.api.v2.core.GrpcService.Go" +
+ "ogleGrpc.CallCredentials.MetadataCredent" +
+ "ialsFromPluginH\000\032V\n\"ServiceAccountJWTAcc" +
+ "essCredentials\022\020\n\010json_key\030\001 \001(\t\022\036\n\026toke" +
+ "n_lifetime_seconds\030\002 \001(\004\032O\n\024GoogleIAMCre" +
+ "dentials\022\033\n\023authorization_token\030\001 \001(\t\022\032\n" +
+ "\022authority_selector\030\002 \001(\t\032\225\001\n\035MetadataCr" +
+ "edentialsFromPlugin\022\014\n\004name\030\001 \001(\t\022)\n\006con" +
+ "fig\030\002 \001(\0132\027.google.protobuf.StructH\000\022,\n\014" +
+ "typed_config\030\003 \001(\0132\024.google.protobuf.Any" +
+ "H\000B\r\n\013config_typeB\035\n\024credential_specifie" +
+ "r\022\005\270\351\300\003\001B\031\n\020target_specifier\022\005\270\351\300\003\001J\004\010\004\020" +
+ "\005B(\n$io.grpc.xds.shaded.envoy.api.v2.cor" +
+ "eP\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ com.google.protobuf.AnyProto.getDescriptor(),
+ com.google.protobuf.DurationProto.getDescriptor(),
+ com.google.protobuf.StructProto.getDescriptor(),
+ com.google.protobuf.EmptyProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_core_GrpcService_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_core_GrpcService_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_descriptor,
+ new java.lang.String[] { "EnvoyGrpc", "GoogleGrpc", "Timeout", "InitialMetadata", "TargetSpecifier", });
+ internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_EnvoyGrpc_descriptor,
+ new java.lang.String[] { "ClusterName", });
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_descriptor.getNestedTypes().get(1);
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor,
+ new java.lang.String[] { "TargetUri", "ChannelCredentials", "CallCredentials", "StatPrefix", "CredentialsFactoryName", "Config", });
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials_descriptor,
+ new java.lang.String[] { "RootCerts", "PrivateKey", "CertChain", });
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor.getNestedTypes().get(1);
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials_descriptor,
+ new java.lang.String[] { });
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor.getNestedTypes().get(2);
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials_descriptor,
+ new java.lang.String[] { "SslCredentials", "GoogleDefault", "LocalCredentials", "CredentialSpecifier", });
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_descriptor.getNestedTypes().get(3);
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor,
+ new java.lang.String[] { "AccessToken", "GoogleComputeEngine", "GoogleRefreshToken", "ServiceAccountJwtAccess", "GoogleIam", "FromPlugin", "CredentialSpecifier", });
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials_descriptor,
+ new java.lang.String[] { "JsonKey", "TokenLifetimeSeconds", });
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor.getNestedTypes().get(1);
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials_descriptor,
+ new java.lang.String[] { "AuthorizationToken", "AuthoritySelector", });
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_descriptor =
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_descriptor.getNestedTypes().get(2);
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin_descriptor,
+ new java.lang.String[] { "Name", "Config", "TypedConfig", "ConfigType", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.required);
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ com.google.protobuf.AnyProto.getDescriptor();
+ com.google.protobuf.DurationProto.getDescriptor();
+ com.google.protobuf.StructProto.getDescriptor();
+ com.google.protobuf.EmptyProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValue.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValue.java
new file mode 100644
index 000000000..0d55aab87
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValue.java
@@ -0,0 +1,728 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Header name/value pair.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HeaderValue}
+ */
+public final class HeaderValue extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HeaderValue)
+ HeaderValueOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use HeaderValue.newBuilder() to construct.
+ private HeaderValue(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private HeaderValue() {
+ key_ = "";
+ value_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private HeaderValue(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ key_ = s;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ value_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValue_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValue_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.class, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder.class);
+ }
+
+ public static final int KEY_FIELD_NUMBER = 1;
+ private volatile java.lang.Object key_;
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getKey() {
+ java.lang.Object ref = key_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ key_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getKeyBytes() {
+ java.lang.Object ref = key_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ key_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int VALUE_FIELD_NUMBER = 2;
+ private volatile java.lang.Object value_;
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getValue() {
+ java.lang.Object ref = value_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ value_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getValueBytes() {
+ java.lang.Object ref = value_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ value_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getKeyBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_);
+ }
+ if (!getValueBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, value_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getKeyBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_);
+ }
+ if (!getValueBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, value_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue other = (io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue) obj;
+
+ boolean result = true;
+ result = result && getKey()
+ .equals(other.getKey());
+ result = result && getValue()
+ .equals(other.getValue());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getKey().hashCode();
+ hash = (37 * hash) + VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + getValue().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Header name/value pair.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HeaderValue}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HeaderValue)
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValue_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValue_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.class, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ key_ = "";
+
+ value_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValue_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue result = new io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue(this);
+ result.key_ = key_;
+ result.value_ = value_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.getDefaultInstance()) return this;
+ if (!other.getKey().isEmpty()) {
+ key_ = other.key_;
+ onChanged();
+ }
+ if (!other.getValue().isEmpty()) {
+ value_ = other.value_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object key_ = "";
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getKey() {
+ java.lang.Object ref = key_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ key_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getKeyBytes() {
+ java.lang.Object ref = key_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ key_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setKey(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ key_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearKey() {
+
+ key_ = getDefaultInstance().getKey();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setKeyBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ key_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object value_ = "";
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getValue() {
+ java.lang.Object ref = value_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ value_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getValueBytes() {
+ java.lang.Object ref = value_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ value_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setValue(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ value_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearValue() {
+
+ value_ = getDefaultInstance().getValue();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setValueBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ value_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HeaderValue)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HeaderValue)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<HeaderValue>
+ PARSER = new com.google.protobuf.AbstractParser<HeaderValue>() {
+ public HeaderValue parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new HeaderValue(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<HeaderValue> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<HeaderValue> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOption.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOption.java
new file mode 100644
index 000000000..3b14dbd62
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOption.java
@@ -0,0 +1,867 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Header name/value pair plus option to control append behavior.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HeaderValueOption}
+ */
+public final class HeaderValueOption extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HeaderValueOption)
+ HeaderValueOptionOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use HeaderValueOption.newBuilder() to construct.
+ private HeaderValueOption(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private HeaderValueOption() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private HeaderValueOption(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder subBuilder = null;
+ if (header_ != null) {
+ subBuilder = header_.toBuilder();
+ }
+ header_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(header_);
+ header_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (append_ != null) {
+ subBuilder = append_.toBuilder();
+ }
+ append_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(append_);
+ append_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValueOption_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValueOption_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.class, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder.class);
+ }
+
+ public static final int HEADER_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue header_;
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasHeader() {
+ return header_ != null;
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getHeader() {
+ return header_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.getDefaultInstance() : header_;
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder getHeaderOrBuilder() {
+ return getHeader();
+ }
+
+ public static final int APPEND_FIELD_NUMBER = 2;
+ private com.google.protobuf.BoolValue append_;
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public boolean hasAppend() {
+ return append_ != null;
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public com.google.protobuf.BoolValue getAppend() {
+ return append_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : append_;
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getAppendOrBuilder() {
+ return getAppend();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (header_ != null) {
+ output.writeMessage(1, getHeader());
+ }
+ if (append_ != null) {
+ output.writeMessage(2, getAppend());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (header_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getHeader());
+ }
+ if (append_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getAppend());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption other = (io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption) obj;
+
+ boolean result = true;
+ result = result && (hasHeader() == other.hasHeader());
+ if (hasHeader()) {
+ result = result && getHeader()
+ .equals(other.getHeader());
+ }
+ result = result && (hasAppend() == other.hasAppend());
+ if (hasAppend()) {
+ result = result && getAppend()
+ .equals(other.getAppend());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasHeader()) {
+ hash = (37 * hash) + HEADER_FIELD_NUMBER;
+ hash = (53 * hash) + getHeader().hashCode();
+ }
+ if (hasAppend()) {
+ hash = (37 * hash) + APPEND_FIELD_NUMBER;
+ hash = (53 * hash) + getAppend().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Header name/value pair plus option to control append behavior.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HeaderValueOption}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HeaderValueOption)
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValueOption_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValueOption_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.class, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (headerBuilder_ == null) {
+ header_ = null;
+ } else {
+ header_ = null;
+ headerBuilder_ = null;
+ }
+ if (appendBuilder_ == null) {
+ append_ = null;
+ } else {
+ append_ = null;
+ appendBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_HeaderValueOption_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption result = new io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption(this);
+ if (headerBuilder_ == null) {
+ result.header_ = header_;
+ } else {
+ result.header_ = headerBuilder_.build();
+ }
+ if (appendBuilder_ == null) {
+ result.append_ = append_;
+ } else {
+ result.append_ = appendBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.getDefaultInstance()) return this;
+ if (other.hasHeader()) {
+ mergeHeader(other.getHeader());
+ }
+ if (other.hasAppend()) {
+ mergeAppend(other.getAppend());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue header_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder> headerBuilder_;
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasHeader() {
+ return headerBuilder_ != null || header_ != null;
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getHeader() {
+ if (headerBuilder_ == null) {
+ return header_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.getDefaultInstance() : header_;
+ } else {
+ return headerBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setHeader(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue value) {
+ if (headerBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ header_ = value;
+ onChanged();
+ } else {
+ headerBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setHeader(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder builderForValue) {
+ if (headerBuilder_ == null) {
+ header_ = builderForValue.build();
+ onChanged();
+ } else {
+ headerBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeHeader(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue value) {
+ if (headerBuilder_ == null) {
+ if (header_ != null) {
+ header_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.newBuilder(header_).mergeFrom(value).buildPartial();
+ } else {
+ header_ = value;
+ }
+ onChanged();
+ } else {
+ headerBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearHeader() {
+ if (headerBuilder_ == null) {
+ header_ = null;
+ onChanged();
+ } else {
+ header_ = null;
+ headerBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder getHeaderBuilder() {
+
+ onChanged();
+ return getHeaderFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder getHeaderOrBuilder() {
+ if (headerBuilder_ != null) {
+ return headerBuilder_.getMessageOrBuilder();
+ } else {
+ return header_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.getDefaultInstance() : header_;
+ }
+ }
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder>
+ getHeaderFieldBuilder() {
+ if (headerBuilder_ == null) {
+ headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder>(
+ getHeader(),
+ getParentForChildren(),
+ isClean());
+ header_ = null;
+ }
+ return headerBuilder_;
+ }
+
+ private com.google.protobuf.BoolValue append_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> appendBuilder_;
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public boolean hasAppend() {
+ return appendBuilder_ != null || append_ != null;
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public com.google.protobuf.BoolValue getAppend() {
+ if (appendBuilder_ == null) {
+ return append_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : append_;
+ } else {
+ return appendBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public Builder setAppend(com.google.protobuf.BoolValue value) {
+ if (appendBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ append_ = value;
+ onChanged();
+ } else {
+ appendBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public Builder setAppend(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (appendBuilder_ == null) {
+ append_ = builderForValue.build();
+ onChanged();
+ } else {
+ appendBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public Builder mergeAppend(com.google.protobuf.BoolValue value) {
+ if (appendBuilder_ == null) {
+ if (append_ != null) {
+ append_ =
+ com.google.protobuf.BoolValue.newBuilder(append_).mergeFrom(value).buildPartial();
+ } else {
+ append_ = value;
+ }
+ onChanged();
+ } else {
+ appendBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public Builder clearAppend() {
+ if (appendBuilder_ == null) {
+ append_ = null;
+ onChanged();
+ } else {
+ append_ = null;
+ appendBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getAppendBuilder() {
+
+ onChanged();
+ return getAppendFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getAppendOrBuilder() {
+ if (appendBuilder_ != null) {
+ return appendBuilder_.getMessageOrBuilder();
+ } else {
+ return append_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : append_;
+ }
+ }
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getAppendFieldBuilder() {
+ if (appendBuilder_ == null) {
+ appendBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getAppend(),
+ getParentForChildren(),
+ isClean());
+ append_ = null;
+ }
+ return appendBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HeaderValueOption)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HeaderValueOption)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<HeaderValueOption>
+ PARSER = new com.google.protobuf.AbstractParser<HeaderValueOption>() {
+ public HeaderValueOption parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new HeaderValueOption(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<HeaderValueOption> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<HeaderValueOption> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOptionOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOptionOrBuilder.java
new file mode 100644
index 000000000..caa7dce2e
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOptionOrBuilder.java
@@ -0,0 +1,62 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface HeaderValueOptionOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HeaderValueOption)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasHeader();
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValue getHeader();
+ /**
+ * <pre>
+ * Header name/value pair that this option applies to.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HeaderValue header = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOrBuilder getHeaderOrBuilder();
+
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ boolean hasAppend();
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ com.google.protobuf.BoolValue getAppend();
+ /**
+ * <pre>
+ * Should the value be appended? If true (default), the value is appended to
+ * existing values.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue append = 2;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getAppendOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOrBuilder.java
new file mode 100644
index 000000000..157848145
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HeaderValueOrBuilder.java
@@ -0,0 +1,51 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface HeaderValueOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HeaderValue)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getKey();
+ /**
+ * <pre>
+ * Header name.
+ * </pre>
+ *
+ * <code>string key = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getKeyBytes();
+
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getValue();
+ /**
+ * <pre>
+ * Header value.
+ * The same :ref:`format specifier &lt;config_access_log_format&gt;` as used for
+ * :ref:`HTTP access logging &lt;config_access_log&gt;` applies here, however
+ * unknown header values are replaced with the empty string instead of `-`.
+ * </pre>
+ *
+ * <code>string value = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getValueBytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheck.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheck.java
new file mode 100644
index 000000000..b9c62a23f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheck.java
@@ -0,0 +1,11257 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/health_check.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck}
+ */
+public final class HealthCheck extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HealthCheck)
+ HealthCheckOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use HealthCheck.newBuilder() to construct.
+ private HealthCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private HealthCheck() {
+ intervalJitterPercent_ = 0;
+ eventLogPath_ = "";
+ alwaysLogHealthCheckFailures_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private HealthCheck(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (timeout_ != null) {
+ subBuilder = timeout_.toBuilder();
+ }
+ timeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(timeout_);
+ timeout_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (interval_ != null) {
+ subBuilder = interval_.toBuilder();
+ }
+ interval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(interval_);
+ interval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (intervalJitter_ != null) {
+ subBuilder = intervalJitter_.toBuilder();
+ }
+ intervalJitter_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(intervalJitter_);
+ intervalJitter_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (unhealthyThreshold_ != null) {
+ subBuilder = unhealthyThreshold_.toBuilder();
+ }
+ unhealthyThreshold_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(unhealthyThreshold_);
+ unhealthyThreshold_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (healthyThreshold_ != null) {
+ subBuilder = healthyThreshold_.toBuilder();
+ }
+ healthyThreshold_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(healthyThreshold_);
+ healthyThreshold_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 50: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (altPort_ != null) {
+ subBuilder = altPort_.toBuilder();
+ }
+ altPort_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(altPort_);
+ altPort_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 58: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (reuseConnection_ != null) {
+ subBuilder = reuseConnection_.toBuilder();
+ }
+ reuseConnection_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(reuseConnection_);
+ reuseConnection_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 66: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.Builder subBuilder = null;
+ if (healthCheckerCase_ == 8) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_).toBuilder();
+ }
+ healthChecker_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_);
+ healthChecker_ = subBuilder.buildPartial();
+ }
+ healthCheckerCase_ = 8;
+ break;
+ }
+ case 74: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.Builder subBuilder = null;
+ if (healthCheckerCase_ == 9) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_).toBuilder();
+ }
+ healthChecker_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_);
+ healthChecker_ = subBuilder.buildPartial();
+ }
+ healthCheckerCase_ = 9;
+ break;
+ }
+ case 90: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.Builder subBuilder = null;
+ if (healthCheckerCase_ == 11) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_).toBuilder();
+ }
+ healthChecker_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_);
+ healthChecker_ = subBuilder.buildPartial();
+ }
+ healthCheckerCase_ = 11;
+ break;
+ }
+ case 98: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (noTrafficInterval_ != null) {
+ subBuilder = noTrafficInterval_.toBuilder();
+ }
+ noTrafficInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(noTrafficInterval_);
+ noTrafficInterval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 106: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.Builder subBuilder = null;
+ if (healthCheckerCase_ == 13) {
+ subBuilder = ((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_).toBuilder();
+ }
+ healthChecker_ =
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_);
+ healthChecker_ = subBuilder.buildPartial();
+ }
+ healthCheckerCase_ = 13;
+ break;
+ }
+ case 114: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (unhealthyInterval_ != null) {
+ subBuilder = unhealthyInterval_.toBuilder();
+ }
+ unhealthyInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(unhealthyInterval_);
+ unhealthyInterval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 122: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (unhealthyEdgeInterval_ != null) {
+ subBuilder = unhealthyEdgeInterval_.toBuilder();
+ }
+ unhealthyEdgeInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(unhealthyEdgeInterval_);
+ unhealthyEdgeInterval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 130: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (healthyEdgeInterval_ != null) {
+ subBuilder = healthyEdgeInterval_.toBuilder();
+ }
+ healthyEdgeInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(healthyEdgeInterval_);
+ healthyEdgeInterval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 138: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ eventLogPath_ = s;
+ break;
+ }
+ case 144: {
+
+ intervalJitterPercent_ = input.readUInt32();
+ break;
+ }
+ case 152: {
+
+ alwaysLogHealthCheckFailures_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder.class);
+ }
+
+ public interface PayloadOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HealthCheck.Payload)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getText();
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getTextBytes();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Binary payload.
+ * </pre>
+ *
+ * <code>bytes binary = 2;</code>
+ */
+ com.google.protobuf.ByteString getBinary();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.PayloadCase getPayloadCase();
+ }
+ /**
+ * <pre>
+ * Describes the encoding of the payload bytes in the payload.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.Payload}
+ */
+ public static final class Payload extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HealthCheck.Payload)
+ PayloadOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Payload.newBuilder() to construct.
+ private Payload(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Payload() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Payload(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+ payloadCase_ = 1;
+ payload_ = s;
+ break;
+ }
+ case 18: {
+ payloadCase_ = 2;
+ payload_ = input.readBytes();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_Payload_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_Payload_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder.class);
+ }
+
+ private int payloadCase_ = 0;
+ private java.lang.Object payload_;
+ public enum PayloadCase
+ implements com.google.protobuf.Internal.EnumLite {
+ TEXT(1),
+ BINARY(2),
+ PAYLOAD_NOT_SET(0);
+ private final int value;
+ private PayloadCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static PayloadCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static PayloadCase forNumber(int value) {
+ switch (value) {
+ case 1: return TEXT;
+ case 2: return BINARY;
+ case 0: return PAYLOAD_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public PayloadCase
+ getPayloadCase() {
+ return PayloadCase.forNumber(
+ payloadCase_);
+ }
+
+ public static final int TEXT_FIELD_NUMBER = 1;
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getText() {
+ java.lang.Object ref = "";
+ if (payloadCase_ == 1) {
+ ref = payload_;
+ }
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (payloadCase_ == 1) {
+ payload_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getTextBytes() {
+ java.lang.Object ref = "";
+ if (payloadCase_ == 1) {
+ ref = payload_;
+ }
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (payloadCase_ == 1) {
+ payload_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int BINARY_FIELD_NUMBER = 2;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Binary payload.
+ * </pre>
+ *
+ * <code>bytes binary = 2;</code>
+ */
+ public com.google.protobuf.ByteString getBinary() {
+ if (payloadCase_ == 2) {
+ return (com.google.protobuf.ByteString) payload_;
+ }
+ return com.google.protobuf.ByteString.EMPTY;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (payloadCase_ == 1) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, payload_);
+ }
+ if (payloadCase_ == 2) {
+ output.writeBytes(
+ 2, (com.google.protobuf.ByteString) payload_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (payloadCase_ == 1) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, payload_);
+ }
+ if (payloadCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(
+ 2, (com.google.protobuf.ByteString) payload_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload other = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload) obj;
+
+ boolean result = true;
+ result = result && getPayloadCase().equals(
+ other.getPayloadCase());
+ if (!result) return false;
+ switch (payloadCase_) {
+ case 1:
+ result = result && getText()
+ .equals(other.getText());
+ break;
+ case 2:
+ result = result && getBinary()
+ .equals(other.getBinary());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (payloadCase_) {
+ case 1:
+ hash = (37 * hash) + TEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getText().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + BINARY_FIELD_NUMBER;
+ hash = (53 * hash) + getBinary().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Describes the encoding of the payload bytes in the payload.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.Payload}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HealthCheck.Payload)
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_Payload_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_Payload_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ payloadCase_ = 0;
+ payload_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_Payload_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload result = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload(this);
+ if (payloadCase_ == 1) {
+ result.payload_ = payload_;
+ }
+ if (payloadCase_ == 2) {
+ result.payload_ = payload_;
+ }
+ result.payloadCase_ = payloadCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance()) return this;
+ switch (other.getPayloadCase()) {
+ case TEXT: {
+ payloadCase_ = 1;
+ payload_ = other.payload_;
+ onChanged();
+ break;
+ }
+ case BINARY: {
+ setBinary(other.getBinary());
+ break;
+ }
+ case PAYLOAD_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int payloadCase_ = 0;
+ private java.lang.Object payload_;
+ public PayloadCase
+ getPayloadCase() {
+ return PayloadCase.forNumber(
+ payloadCase_);
+ }
+
+ public Builder clearPayload() {
+ payloadCase_ = 0;
+ payload_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getText() {
+ java.lang.Object ref = "";
+ if (payloadCase_ == 1) {
+ ref = payload_;
+ }
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (payloadCase_ == 1) {
+ payload_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getTextBytes() {
+ java.lang.Object ref = "";
+ if (payloadCase_ == 1) {
+ ref = payload_;
+ }
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (payloadCase_ == 1) {
+ payload_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setText(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ payloadCase_ = 1;
+ payload_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearText() {
+ if (payloadCase_ == 1) {
+ payloadCase_ = 0;
+ payload_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Hex encoded payload. E.g., "000000FF".
+ * </pre>
+ *
+ * <code>string text = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTextBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ payloadCase_ = 1;
+ payload_ = value;
+ onChanged();
+ return this;
+ }
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Binary payload.
+ * </pre>
+ *
+ * <code>bytes binary = 2;</code>
+ */
+ public com.google.protobuf.ByteString getBinary() {
+ if (payloadCase_ == 2) {
+ return (com.google.protobuf.ByteString) payload_;
+ }
+ return com.google.protobuf.ByteString.EMPTY;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Binary payload.
+ * </pre>
+ *
+ * <code>bytes binary = 2;</code>
+ */
+ public Builder setBinary(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ payloadCase_ = 2;
+ payload_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Binary payload.
+ * </pre>
+ *
+ * <code>bytes binary = 2;</code>
+ */
+ public Builder clearBinary() {
+ if (payloadCase_ == 2) {
+ payloadCase_ = 0;
+ payload_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HealthCheck.Payload)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HealthCheck.Payload)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Payload>
+ PARSER = new com.google.protobuf.AbstractParser<Payload>() {
+ public Payload parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Payload(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Payload> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Payload> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface HttpHealthCheckOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HealthCheck.HttpHealthCheck)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ java.lang.String getHost();
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getHostBytes();
+
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getPath();
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getPathBytes();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ boolean hasSend();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getSend();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getSendOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ boolean hasReceive();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getReceive();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getReceiveOrBuilder();
+
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ java.lang.String getServiceName();
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ com.google.protobuf.ByteString
+ getServiceNameBytes();
+
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption>
+ getRequestHeadersToAddList();
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption getRequestHeadersToAdd(int index);
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ int getRequestHeadersToAddCount();
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder>
+ getRequestHeadersToAddOrBuilderList();
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ java.util.List<java.lang.String>
+ getRequestHeadersToRemoveList();
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ int getRequestHeadersToRemoveCount();
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ java.lang.String getRequestHeadersToRemove(int index);
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ com.google.protobuf.ByteString
+ getRequestHeadersToRemoveBytes(int index);
+
+ /**
+ * <pre>
+ * If set, health checks will be made using http/2.
+ * </pre>
+ *
+ * <code>bool use_http2 = 7;</code>
+ */
+ boolean getUseHttp2();
+ }
+ /**
+ * <pre>
+ * [#comment:next free field: 9]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.HttpHealthCheck}
+ */
+ public static final class HttpHealthCheck extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HealthCheck.HttpHealthCheck)
+ HttpHealthCheckOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use HttpHealthCheck.newBuilder() to construct.
+ private HttpHealthCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private HttpHealthCheck() {
+ host_ = "";
+ path_ = "";
+ serviceName_ = "";
+ requestHeadersToAdd_ = java.util.Collections.emptyList();
+ requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ useHttp2_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private HttpHealthCheck(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ host_ = s;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ path_ = s;
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder subBuilder = null;
+ if (send_ != null) {
+ subBuilder = send_.toBuilder();
+ }
+ send_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(send_);
+ send_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder subBuilder = null;
+ if (receive_ != null) {
+ subBuilder = receive_.toBuilder();
+ }
+ receive_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(receive_);
+ receive_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ serviceName_ = s;
+ break;
+ }
+ case 50: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ requestHeadersToAdd_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ requestHeadersToAdd_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.parser(), extensionRegistry));
+ break;
+ }
+ case 56: {
+
+ useHttp2_ = input.readBool();
+ break;
+ }
+ case 66: {
+ java.lang.String s = input.readStringRequireUtf8();
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ requestHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ requestHeadersToRemove_.add(s);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ requestHeadersToRemove_ = requestHeadersToRemove_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int HOST_FIELD_NUMBER = 1;
+ private volatile java.lang.Object host_;
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ public java.lang.String getHost() {
+ java.lang.Object ref = host_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ host_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getHostBytes() {
+ java.lang.Object ref = host_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ host_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int PATH_FIELD_NUMBER = 2;
+ private volatile java.lang.Object path_;
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getPath() {
+ java.lang.Object ref = path_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ path_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getPathBytes() {
+ java.lang.Object ref = path_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ path_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int SEND_FIELD_NUMBER = 3;
+ private io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload send_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public boolean hasSend() {
+ return send_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getSend() {
+ return send_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : send_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getSendOrBuilder() {
+ return getSend();
+ }
+
+ public static final int RECEIVE_FIELD_NUMBER = 4;
+ private io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload receive_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public boolean hasReceive() {
+ return receive_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getReceive() {
+ return receive_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : receive_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getReceiveOrBuilder() {
+ return getReceive();
+ }
+
+ public static final int SERVICE_NAME_FIELD_NUMBER = 5;
+ private volatile java.lang.Object serviceName_;
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ public java.lang.String getServiceName() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getServiceNameBytes() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ serviceName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int REQUEST_HEADERS_TO_ADD_FIELD_NUMBER = 6;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption> requestHeadersToAdd_;
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption> getRequestHeadersToAddList() {
+ return requestHeadersToAdd_;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder>
+ getRequestHeadersToAddOrBuilderList() {
+ return requestHeadersToAdd_;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public int getRequestHeadersToAddCount() {
+ return requestHeadersToAdd_.size();
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption getRequestHeadersToAdd(int index) {
+ return requestHeadersToAdd_.get(index);
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder(
+ int index) {
+ return requestHeadersToAdd_.get(index);
+ }
+
+ public static final int REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER = 8;
+ private com.google.protobuf.LazyStringList requestHeadersToRemove_;
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getRequestHeadersToRemoveList() {
+ return requestHeadersToRemove_;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public int getRequestHeadersToRemoveCount() {
+ return requestHeadersToRemove_.size();
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public java.lang.String getRequestHeadersToRemove(int index) {
+ return requestHeadersToRemove_.get(index);
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public com.google.protobuf.ByteString
+ getRequestHeadersToRemoveBytes(int index) {
+ return requestHeadersToRemove_.getByteString(index);
+ }
+
+ public static final int USE_HTTP2_FIELD_NUMBER = 7;
+ private boolean useHttp2_;
+ /**
+ * <pre>
+ * If set, health checks will be made using http/2.
+ * </pre>
+ *
+ * <code>bool use_http2 = 7;</code>
+ */
+ public boolean getUseHttp2() {
+ return useHttp2_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getHostBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, host_);
+ }
+ if (!getPathBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, path_);
+ }
+ if (send_ != null) {
+ output.writeMessage(3, getSend());
+ }
+ if (receive_ != null) {
+ output.writeMessage(4, getReceive());
+ }
+ if (!getServiceNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 5, serviceName_);
+ }
+ for (int i = 0; i < requestHeadersToAdd_.size(); i++) {
+ output.writeMessage(6, requestHeadersToAdd_.get(i));
+ }
+ if (useHttp2_ != false) {
+ output.writeBool(7, useHttp2_);
+ }
+ for (int i = 0; i < requestHeadersToRemove_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 8, requestHeadersToRemove_.getRaw(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getHostBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, host_);
+ }
+ if (!getPathBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, path_);
+ }
+ if (send_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getSend());
+ }
+ if (receive_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getReceive());
+ }
+ if (!getServiceNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, serviceName_);
+ }
+ for (int i = 0; i < requestHeadersToAdd_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, requestHeadersToAdd_.get(i));
+ }
+ if (useHttp2_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(7, useHttp2_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < requestHeadersToRemove_.size(); i++) {
+ dataSize += computeStringSizeNoTag(requestHeadersToRemove_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getRequestHeadersToRemoveList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck other = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) obj;
+
+ boolean result = true;
+ result = result && getHost()
+ .equals(other.getHost());
+ result = result && getPath()
+ .equals(other.getPath());
+ result = result && (hasSend() == other.hasSend());
+ if (hasSend()) {
+ result = result && getSend()
+ .equals(other.getSend());
+ }
+ result = result && (hasReceive() == other.hasReceive());
+ if (hasReceive()) {
+ result = result && getReceive()
+ .equals(other.getReceive());
+ }
+ result = result && getServiceName()
+ .equals(other.getServiceName());
+ result = result && getRequestHeadersToAddList()
+ .equals(other.getRequestHeadersToAddList());
+ result = result && getRequestHeadersToRemoveList()
+ .equals(other.getRequestHeadersToRemoveList());
+ result = result && (getUseHttp2()
+ == other.getUseHttp2());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + HOST_FIELD_NUMBER;
+ hash = (53 * hash) + getHost().hashCode();
+ hash = (37 * hash) + PATH_FIELD_NUMBER;
+ hash = (53 * hash) + getPath().hashCode();
+ if (hasSend()) {
+ hash = (37 * hash) + SEND_FIELD_NUMBER;
+ hash = (53 * hash) + getSend().hashCode();
+ }
+ if (hasReceive()) {
+ hash = (37 * hash) + RECEIVE_FIELD_NUMBER;
+ hash = (53 * hash) + getReceive().hashCode();
+ }
+ hash = (37 * hash) + SERVICE_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getServiceName().hashCode();
+ if (getRequestHeadersToAddCount() > 0) {
+ hash = (37 * hash) + REQUEST_HEADERS_TO_ADD_FIELD_NUMBER;
+ hash = (53 * hash) + getRequestHeadersToAddList().hashCode();
+ }
+ if (getRequestHeadersToRemoveCount() > 0) {
+ hash = (37 * hash) + REQUEST_HEADERS_TO_REMOVE_FIELD_NUMBER;
+ hash = (53 * hash) + getRequestHeadersToRemoveList().hashCode();
+ }
+ hash = (37 * hash) + USE_HTTP2_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getUseHttp2());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * [#comment:next free field: 9]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.HttpHealthCheck}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HealthCheck.HttpHealthCheck)
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheckOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getRequestHeadersToAddFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ host_ = "";
+
+ path_ = "";
+
+ if (sendBuilder_ == null) {
+ send_ = null;
+ } else {
+ send_ = null;
+ sendBuilder_ = null;
+ }
+ if (receiveBuilder_ == null) {
+ receive_ = null;
+ } else {
+ receive_ = null;
+ receiveBuilder_ = null;
+ }
+ serviceName_ = "";
+
+ if (requestHeadersToAddBuilder_ == null) {
+ requestHeadersToAdd_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ requestHeadersToAddBuilder_.clear();
+ }
+ requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ useHttp2_ = false;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck result = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.host_ = host_;
+ result.path_ = path_;
+ if (sendBuilder_ == null) {
+ result.send_ = send_;
+ } else {
+ result.send_ = sendBuilder_.build();
+ }
+ if (receiveBuilder_ == null) {
+ result.receive_ = receive_;
+ } else {
+ result.receive_ = receiveBuilder_.build();
+ }
+ result.serviceName_ = serviceName_;
+ if (requestHeadersToAddBuilder_ == null) {
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ requestHeadersToAdd_ = java.util.Collections.unmodifiableList(requestHeadersToAdd_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.requestHeadersToAdd_ = requestHeadersToAdd_;
+ } else {
+ result.requestHeadersToAdd_ = requestHeadersToAddBuilder_.build();
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ requestHeadersToRemove_ = requestHeadersToRemove_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.requestHeadersToRemove_ = requestHeadersToRemove_;
+ result.useHttp2_ = useHttp2_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance()) return this;
+ if (!other.getHost().isEmpty()) {
+ host_ = other.host_;
+ onChanged();
+ }
+ if (!other.getPath().isEmpty()) {
+ path_ = other.path_;
+ onChanged();
+ }
+ if (other.hasSend()) {
+ mergeSend(other.getSend());
+ }
+ if (other.hasReceive()) {
+ mergeReceive(other.getReceive());
+ }
+ if (!other.getServiceName().isEmpty()) {
+ serviceName_ = other.serviceName_;
+ onChanged();
+ }
+ if (requestHeadersToAddBuilder_ == null) {
+ if (!other.requestHeadersToAdd_.isEmpty()) {
+ if (requestHeadersToAdd_.isEmpty()) {
+ requestHeadersToAdd_ = other.requestHeadersToAdd_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureRequestHeadersToAddIsMutable();
+ requestHeadersToAdd_.addAll(other.requestHeadersToAdd_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.requestHeadersToAdd_.isEmpty()) {
+ if (requestHeadersToAddBuilder_.isEmpty()) {
+ requestHeadersToAddBuilder_.dispose();
+ requestHeadersToAddBuilder_ = null;
+ requestHeadersToAdd_ = other.requestHeadersToAdd_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ requestHeadersToAddBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getRequestHeadersToAddFieldBuilder() : null;
+ } else {
+ requestHeadersToAddBuilder_.addAllMessages(other.requestHeadersToAdd_);
+ }
+ }
+ }
+ if (!other.requestHeadersToRemove_.isEmpty()) {
+ if (requestHeadersToRemove_.isEmpty()) {
+ requestHeadersToRemove_ = other.requestHeadersToRemove_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureRequestHeadersToRemoveIsMutable();
+ requestHeadersToRemove_.addAll(other.requestHeadersToRemove_);
+ }
+ onChanged();
+ }
+ if (other.getUseHttp2() != false) {
+ setUseHttp2(other.getUseHttp2());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object host_ = "";
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ public java.lang.String getHost() {
+ java.lang.Object ref = host_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ host_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getHostBytes() {
+ java.lang.Object ref = host_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ host_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ public Builder setHost(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ host_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ public Builder clearHost() {
+
+ host_ = getDefaultInstance().getHost();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The value of the host header in the HTTP health check request. If
+ * left empty (default value), the name of the cluster this health check is associated
+ * with will be used.
+ * </pre>
+ *
+ * <code>string host = 1;</code>
+ */
+ public Builder setHostBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ host_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object path_ = "";
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getPath() {
+ java.lang.Object ref = path_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ path_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getPathBytes() {
+ java.lang.Object ref = path_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ path_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPath(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ path_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearPath() {
+
+ path_ = getDefaultInstance().getPath();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the HTTP path that will be requested during health checking. For example
+ * *&#47;healthcheck*.
+ * </pre>
+ *
+ * <code>string path = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPathBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ path_ = value;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload send_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder> sendBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public boolean hasSend() {
+ return sendBuilder_ != null || send_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getSend() {
+ if (sendBuilder_ == null) {
+ return send_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : send_;
+ } else {
+ return sendBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public Builder setSend(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (sendBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ send_ = value;
+ onChanged();
+ } else {
+ sendBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public Builder setSend(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder builderForValue) {
+ if (sendBuilder_ == null) {
+ send_ = builderForValue.build();
+ onChanged();
+ } else {
+ sendBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public Builder mergeSend(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (sendBuilder_ == null) {
+ if (send_ != null) {
+ send_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.newBuilder(send_).mergeFrom(value).buildPartial();
+ } else {
+ send_ = value;
+ }
+ onChanged();
+ } else {
+ sendBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public Builder clearSend() {
+ if (sendBuilder_ == null) {
+ send_ = null;
+ onChanged();
+ } else {
+ send_ = null;
+ sendBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder getSendBuilder() {
+
+ onChanged();
+ return getSendFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getSendOrBuilder() {
+ if (sendBuilder_ != null) {
+ return sendBuilder_.getMessageOrBuilder();
+ } else {
+ return send_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : send_;
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific payload.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>
+ getSendFieldBuilder() {
+ if (sendBuilder_ == null) {
+ sendBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>(
+ getSend(),
+ getParentForChildren(),
+ isClean());
+ send_ = null;
+ }
+ return sendBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload receive_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder> receiveBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public boolean hasReceive() {
+ return receiveBuilder_ != null || receive_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getReceive() {
+ if (receiveBuilder_ == null) {
+ return receive_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : receive_;
+ } else {
+ return receiveBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public Builder setReceive(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (receiveBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ receive_ = value;
+ onChanged();
+ } else {
+ receiveBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public Builder setReceive(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder builderForValue) {
+ if (receiveBuilder_ == null) {
+ receive_ = builderForValue.build();
+ onChanged();
+ } else {
+ receiveBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public Builder mergeReceive(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (receiveBuilder_ == null) {
+ if (receive_ != null) {
+ receive_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.newBuilder(receive_).mergeFrom(value).buildPartial();
+ } else {
+ receive_ = value;
+ }
+ onChanged();
+ } else {
+ receiveBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public Builder clearReceive() {
+ if (receiveBuilder_ == null) {
+ receive_ = null;
+ onChanged();
+ } else {
+ receive_ = null;
+ receiveBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder getReceiveBuilder() {
+
+ onChanged();
+ return getReceiveFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getReceiveOrBuilder() {
+ if (receiveBuilder_ != null) {
+ return receiveBuilder_.getMessageOrBuilder();
+ } else {
+ return receive_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : receive_;
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] HTTP specific response.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload receive = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>
+ getReceiveFieldBuilder() {
+ if (receiveBuilder_ == null) {
+ receiveBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>(
+ getReceive(),
+ getParentForChildren(),
+ isClean());
+ receive_ = null;
+ }
+ return receiveBuilder_;
+ }
+
+ private java.lang.Object serviceName_ = "";
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ public java.lang.String getServiceName() {
+ java.lang.Object ref = serviceName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getServiceNameBytes() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ serviceName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ public Builder setServiceName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ serviceName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ public Builder clearServiceName() {
+
+ serviceName_ = getDefaultInstance().getServiceName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which is used to validate the identity of
+ * the health checked cluster. See the :ref:`architecture overview
+ * &lt;arch_overview_health_checking_identity&gt;` for more information.
+ * </pre>
+ *
+ * <code>string service_name = 5;</code>
+ */
+ public Builder setServiceNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ serviceName_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption> requestHeadersToAdd_ =
+ java.util.Collections.emptyList();
+ private void ensureRequestHeadersToAddIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ requestHeadersToAdd_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption>(requestHeadersToAdd_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder> requestHeadersToAddBuilder_;
+
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption> getRequestHeadersToAddList() {
+ if (requestHeadersToAddBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(requestHeadersToAdd_);
+ } else {
+ return requestHeadersToAddBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public int getRequestHeadersToAddCount() {
+ if (requestHeadersToAddBuilder_ == null) {
+ return requestHeadersToAdd_.size();
+ } else {
+ return requestHeadersToAddBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption getRequestHeadersToAdd(int index) {
+ if (requestHeadersToAddBuilder_ == null) {
+ return requestHeadersToAdd_.get(index);
+ } else {
+ return requestHeadersToAddBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setRequestHeadersToAdd(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption value) {
+ if (requestHeadersToAddBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureRequestHeadersToAddIsMutable();
+ requestHeadersToAdd_.set(index, value);
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setRequestHeadersToAdd(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) {
+ if (requestHeadersToAddBuilder_ == null) {
+ ensureRequestHeadersToAddIsMutable();
+ requestHeadersToAdd_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addRequestHeadersToAdd(io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption value) {
+ if (requestHeadersToAddBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureRequestHeadersToAddIsMutable();
+ requestHeadersToAdd_.add(value);
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addRequestHeadersToAdd(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption value) {
+ if (requestHeadersToAddBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureRequestHeadersToAddIsMutable();
+ requestHeadersToAdd_.add(index, value);
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addRequestHeadersToAdd(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) {
+ if (requestHeadersToAddBuilder_ == null) {
+ ensureRequestHeadersToAddIsMutable();
+ requestHeadersToAdd_.add(builderForValue.build());
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addRequestHeadersToAdd(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder builderForValue) {
+ if (requestHeadersToAddBuilder_ == null) {
+ ensureRequestHeadersToAddIsMutable();
+ requestHeadersToAdd_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addAllRequestHeadersToAdd(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption> values) {
+ if (requestHeadersToAddBuilder_ == null) {
+ ensureRequestHeadersToAddIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, requestHeadersToAdd_);
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearRequestHeadersToAdd() {
+ if (requestHeadersToAddBuilder_ == null) {
+ requestHeadersToAdd_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder removeRequestHeadersToAdd(int index) {
+ if (requestHeadersToAddBuilder_ == null) {
+ ensureRequestHeadersToAddIsMutable();
+ requestHeadersToAdd_.remove(index);
+ onChanged();
+ } else {
+ requestHeadersToAddBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder getRequestHeadersToAddBuilder(
+ int index) {
+ return getRequestHeadersToAddFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder(
+ int index) {
+ if (requestHeadersToAddBuilder_ == null) {
+ return requestHeadersToAdd_.get(index); } else {
+ return requestHeadersToAddBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder>
+ getRequestHeadersToAddOrBuilderList() {
+ if (requestHeadersToAddBuilder_ != null) {
+ return requestHeadersToAddBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(requestHeadersToAdd_);
+ }
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder addRequestHeadersToAddBuilder() {
+ return getRequestHeadersToAddFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder addRequestHeadersToAddBuilder(
+ int index) {
+ return getRequestHeadersToAddFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be added to each request that is sent to the
+ * health checked cluster. For more information, including details on header value syntax, see
+ * the documentation on :ref:`custom request headers
+ * &lt;config_http_conn_man_headers_custom_request_headers&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HeaderValueOption request_headers_to_add = 6 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder>
+ getRequestHeadersToAddBuilderList() {
+ return getRequestHeadersToAddFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder>
+ getRequestHeadersToAddFieldBuilder() {
+ if (requestHeadersToAddBuilder_ == null) {
+ requestHeadersToAddBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOption.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HeaderValueOptionOrBuilder>(
+ requestHeadersToAdd_,
+ ((bitField0_ & 0x00000020) == 0x00000020),
+ getParentForChildren(),
+ isClean());
+ requestHeadersToAdd_ = null;
+ }
+ return requestHeadersToAddBuilder_;
+ }
+
+ private com.google.protobuf.LazyStringList requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureRequestHeadersToRemoveIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ requestHeadersToRemove_ = new com.google.protobuf.LazyStringArrayList(requestHeadersToRemove_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getRequestHeadersToRemoveList() {
+ return requestHeadersToRemove_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public int getRequestHeadersToRemoveCount() {
+ return requestHeadersToRemove_.size();
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public java.lang.String getRequestHeadersToRemove(int index) {
+ return requestHeadersToRemove_.get(index);
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public com.google.protobuf.ByteString
+ getRequestHeadersToRemoveBytes(int index) {
+ return requestHeadersToRemove_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public Builder setRequestHeadersToRemove(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureRequestHeadersToRemoveIsMutable();
+ requestHeadersToRemove_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public Builder addRequestHeadersToRemove(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureRequestHeadersToRemoveIsMutable();
+ requestHeadersToRemove_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public Builder addAllRequestHeadersToRemove(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureRequestHeadersToRemoveIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, requestHeadersToRemove_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public Builder clearRequestHeadersToRemove() {
+ requestHeadersToRemove_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ * health checked cluster.
+ * </pre>
+ *
+ * <code>repeated string request_headers_to_remove = 8;</code>
+ */
+ public Builder addRequestHeadersToRemoveBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureRequestHeadersToRemoveIsMutable();
+ requestHeadersToRemove_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private boolean useHttp2_ ;
+ /**
+ * <pre>
+ * If set, health checks will be made using http/2.
+ * </pre>
+ *
+ * <code>bool use_http2 = 7;</code>
+ */
+ public boolean getUseHttp2() {
+ return useHttp2_;
+ }
+ /**
+ * <pre>
+ * If set, health checks will be made using http/2.
+ * </pre>
+ *
+ * <code>bool use_http2 = 7;</code>
+ */
+ public Builder setUseHttp2(boolean value) {
+
+ useHttp2_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If set, health checks will be made using http/2.
+ * </pre>
+ *
+ * <code>bool use_http2 = 7;</code>
+ */
+ public Builder clearUseHttp2() {
+
+ useHttp2_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HealthCheck.HttpHealthCheck)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HealthCheck.HttpHealthCheck)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<HttpHealthCheck>
+ PARSER = new com.google.protobuf.AbstractParser<HttpHealthCheck>() {
+ public HttpHealthCheck parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new HttpHealthCheck(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<HttpHealthCheck> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<HttpHealthCheck> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface TcpHealthCheckOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HealthCheck.TcpHealthCheck)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ boolean hasSend();
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getSend();
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getSendOrBuilder();
+
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload>
+ getReceiveList();
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getReceive(int index);
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ int getReceiveCount();
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>
+ getReceiveOrBuilderList();
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getReceiveOrBuilder(
+ int index);
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.TcpHealthCheck}
+ */
+ public static final class TcpHealthCheck extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HealthCheck.TcpHealthCheck)
+ TcpHealthCheckOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use TcpHealthCheck.newBuilder() to construct.
+ private TcpHealthCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private TcpHealthCheck() {
+ receive_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TcpHealthCheck(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder subBuilder = null;
+ if (send_ != null) {
+ subBuilder = send_.toBuilder();
+ }
+ send_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(send_);
+ send_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ receive_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload>();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ receive_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ receive_ = java.util.Collections.unmodifiableList(receive_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int SEND_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload send_;
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public boolean hasSend() {
+ return send_ != null;
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getSend() {
+ return send_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : send_;
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getSendOrBuilder() {
+ return getSend();
+ }
+
+ public static final int RECEIVE_FIELD_NUMBER = 2;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload> receive_;
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload> getReceiveList() {
+ return receive_;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>
+ getReceiveOrBuilderList() {
+ return receive_;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public int getReceiveCount() {
+ return receive_.size();
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getReceive(int index) {
+ return receive_.get(index);
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getReceiveOrBuilder(
+ int index) {
+ return receive_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (send_ != null) {
+ output.writeMessage(1, getSend());
+ }
+ for (int i = 0; i < receive_.size(); i++) {
+ output.writeMessage(2, receive_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (send_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getSend());
+ }
+ for (int i = 0; i < receive_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, receive_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck other = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) obj;
+
+ boolean result = true;
+ result = result && (hasSend() == other.hasSend());
+ if (hasSend()) {
+ result = result && getSend()
+ .equals(other.getSend());
+ }
+ result = result && getReceiveList()
+ .equals(other.getReceiveList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasSend()) {
+ hash = (37 * hash) + SEND_FIELD_NUMBER;
+ hash = (53 * hash) + getSend().hashCode();
+ }
+ if (getReceiveCount() > 0) {
+ hash = (37 * hash) + RECEIVE_FIELD_NUMBER;
+ hash = (53 * hash) + getReceiveList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.TcpHealthCheck}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HealthCheck.TcpHealthCheck)
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheckOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getReceiveFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (sendBuilder_ == null) {
+ send_ = null;
+ } else {
+ send_ = null;
+ sendBuilder_ = null;
+ }
+ if (receiveBuilder_ == null) {
+ receive_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ receiveBuilder_.clear();
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck result = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (sendBuilder_ == null) {
+ result.send_ = send_;
+ } else {
+ result.send_ = sendBuilder_.build();
+ }
+ if (receiveBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ receive_ = java.util.Collections.unmodifiableList(receive_);
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.receive_ = receive_;
+ } else {
+ result.receive_ = receiveBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance()) return this;
+ if (other.hasSend()) {
+ mergeSend(other.getSend());
+ }
+ if (receiveBuilder_ == null) {
+ if (!other.receive_.isEmpty()) {
+ if (receive_.isEmpty()) {
+ receive_ = other.receive_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureReceiveIsMutable();
+ receive_.addAll(other.receive_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.receive_.isEmpty()) {
+ if (receiveBuilder_.isEmpty()) {
+ receiveBuilder_.dispose();
+ receiveBuilder_ = null;
+ receive_ = other.receive_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ receiveBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getReceiveFieldBuilder() : null;
+ } else {
+ receiveBuilder_.addAllMessages(other.receive_);
+ }
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload send_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder> sendBuilder_;
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public boolean hasSend() {
+ return sendBuilder_ != null || send_ != null;
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getSend() {
+ if (sendBuilder_ == null) {
+ return send_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : send_;
+ } else {
+ return sendBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public Builder setSend(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (sendBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ send_ = value;
+ onChanged();
+ } else {
+ sendBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public Builder setSend(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder builderForValue) {
+ if (sendBuilder_ == null) {
+ send_ = builderForValue.build();
+ onChanged();
+ } else {
+ sendBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public Builder mergeSend(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (sendBuilder_ == null) {
+ if (send_ != null) {
+ send_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.newBuilder(send_).mergeFrom(value).buildPartial();
+ } else {
+ send_ = value;
+ }
+ onChanged();
+ } else {
+ sendBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public Builder clearSend() {
+ if (sendBuilder_ == null) {
+ send_ = null;
+ onChanged();
+ } else {
+ send_ = null;
+ sendBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder getSendBuilder() {
+
+ onChanged();
+ return getSendFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getSendOrBuilder() {
+ if (sendBuilder_ != null) {
+ return sendBuilder_.getMessageOrBuilder();
+ } else {
+ return send_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance() : send_;
+ }
+ }
+ /**
+ * <pre>
+ * Empty payloads imply a connect-only health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.Payload send = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>
+ getSendFieldBuilder() {
+ if (sendBuilder_ == null) {
+ sendBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>(
+ getSend(),
+ getParentForChildren(),
+ isClean());
+ send_ = null;
+ }
+ return sendBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload> receive_ =
+ java.util.Collections.emptyList();
+ private void ensureReceiveIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ receive_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload>(receive_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder> receiveBuilder_;
+
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload> getReceiveList() {
+ if (receiveBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(receive_);
+ } else {
+ return receiveBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public int getReceiveCount() {
+ if (receiveBuilder_ == null) {
+ return receive_.size();
+ } else {
+ return receiveBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload getReceive(int index) {
+ if (receiveBuilder_ == null) {
+ return receive_.get(index);
+ } else {
+ return receiveBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder setReceive(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (receiveBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureReceiveIsMutable();
+ receive_.set(index, value);
+ onChanged();
+ } else {
+ receiveBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder setReceive(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder builderForValue) {
+ if (receiveBuilder_ == null) {
+ ensureReceiveIsMutable();
+ receive_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ receiveBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder addReceive(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (receiveBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureReceiveIsMutable();
+ receive_.add(value);
+ onChanged();
+ } else {
+ receiveBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder addReceive(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload value) {
+ if (receiveBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureReceiveIsMutable();
+ receive_.add(index, value);
+ onChanged();
+ } else {
+ receiveBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder addReceive(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder builderForValue) {
+ if (receiveBuilder_ == null) {
+ ensureReceiveIsMutable();
+ receive_.add(builderForValue.build());
+ onChanged();
+ } else {
+ receiveBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder addReceive(
+ int index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder builderForValue) {
+ if (receiveBuilder_ == null) {
+ ensureReceiveIsMutable();
+ receive_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ receiveBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder addAllReceive(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload> values) {
+ if (receiveBuilder_ == null) {
+ ensureReceiveIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, receive_);
+ onChanged();
+ } else {
+ receiveBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder clearReceive() {
+ if (receiveBuilder_ == null) {
+ receive_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ receiveBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public Builder removeReceive(int index) {
+ if (receiveBuilder_ == null) {
+ ensureReceiveIsMutable();
+ receive_.remove(index);
+ onChanged();
+ } else {
+ receiveBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder getReceiveBuilder(
+ int index) {
+ return getReceiveFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder getReceiveOrBuilder(
+ int index) {
+ if (receiveBuilder_ == null) {
+ return receive_.get(index); } else {
+ return receiveBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>
+ getReceiveOrBuilderList() {
+ if (receiveBuilder_ != null) {
+ return receiveBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(receive_);
+ }
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder addReceiveBuilder() {
+ return getReceiveFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder addReceiveBuilder(
+ int index) {
+ return getReceiveFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * When checking the response, “fuzzy” matching is performed such that each
+ * binary block must be found, and in the order specified, but not
+ * necessarily contiguous.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.core.HealthCheck.Payload receive = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder>
+ getReceiveBuilderList() {
+ return getReceiveFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>
+ getReceiveFieldBuilder() {
+ if (receiveBuilder_ == null) {
+ receiveBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Payload.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.PayloadOrBuilder>(
+ receive_,
+ ((bitField0_ & 0x00000002) == 0x00000002),
+ getParentForChildren(),
+ isClean());
+ receive_ = null;
+ }
+ return receiveBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HealthCheck.TcpHealthCheck)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HealthCheck.TcpHealthCheck)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<TcpHealthCheck>
+ PARSER = new com.google.protobuf.AbstractParser<TcpHealthCheck>() {
+ public TcpHealthCheck parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TcpHealthCheck(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<TcpHealthCheck> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<TcpHealthCheck> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface RedisHealthCheckOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HealthCheck.RedisHealthCheck)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ java.lang.String getKey();
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getKeyBytes();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.RedisHealthCheck}
+ */
+ public static final class RedisHealthCheck extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HealthCheck.RedisHealthCheck)
+ RedisHealthCheckOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use RedisHealthCheck.newBuilder() to construct.
+ private RedisHealthCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private RedisHealthCheck() {
+ key_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private RedisHealthCheck(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ key_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck.Builder.class);
+ }
+
+ public static final int KEY_FIELD_NUMBER = 1;
+ private volatile java.lang.Object key_;
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ public java.lang.String getKey() {
+ java.lang.Object ref = key_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ key_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getKeyBytes() {
+ java.lang.Object ref = key_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ key_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getKeyBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getKeyBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck other = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck) obj;
+
+ boolean result = true;
+ result = result && getKey()
+ .equals(other.getKey());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getKey().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.RedisHealthCheck}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HealthCheck.RedisHealthCheck)
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheckOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ key_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck result = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck(this);
+ result.key_ = key_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck.getDefaultInstance()) return this;
+ if (!other.getKey().isEmpty()) {
+ key_ = other.key_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object key_ = "";
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ public java.lang.String getKey() {
+ java.lang.Object ref = key_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ key_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getKeyBytes() {
+ java.lang.Object ref = key_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ key_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ public Builder setKey(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ key_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ public Builder clearKey() {
+
+ key_ = getDefaultInstance().getKey();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If set, optionally perform ``EXISTS &lt;key&gt;`` instead of ``PING``. A return value
+ * from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ * than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ * by setting the specified key to any value and waiting for traffic to drain.
+ * </pre>
+ *
+ * <code>string key = 1;</code>
+ */
+ public Builder setKeyBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ key_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HealthCheck.RedisHealthCheck)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HealthCheck.RedisHealthCheck)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<RedisHealthCheck>
+ PARSER = new com.google.protobuf.AbstractParser<RedisHealthCheck>() {
+ public RedisHealthCheck parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new RedisHealthCheck(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<RedisHealthCheck> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<RedisHealthCheck> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.RedisHealthCheck getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface GrpcHealthCheckOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HealthCheck.GrpcHealthCheck)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ java.lang.String getServiceName();
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getServiceNameBytes();
+ }
+ /**
+ * <pre>
+ * `grpc.health.v1.Health
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto&gt;`_-based
+ * healthcheck. See `gRPC doc &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_
+ * for details.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.GrpcHealthCheck}
+ */
+ public static final class GrpcHealthCheck extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HealthCheck.GrpcHealthCheck)
+ GrpcHealthCheckOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use GrpcHealthCheck.newBuilder() to construct.
+ private GrpcHealthCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private GrpcHealthCheck() {
+ serviceName_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private GrpcHealthCheck(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ serviceName_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.Builder.class);
+ }
+
+ public static final int SERVICE_NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object serviceName_;
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ public java.lang.String getServiceName() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getServiceNameBytes() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ serviceName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getServiceNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, serviceName_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getServiceNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, serviceName_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck other = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) obj;
+
+ boolean result = true;
+ result = result && getServiceName()
+ .equals(other.getServiceName());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + SERVICE_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getServiceName().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * `grpc.health.v1.Health
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto&gt;`_-based
+ * healthcheck. See `gRPC doc &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_
+ * for details.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.GrpcHealthCheck}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HealthCheck.GrpcHealthCheck)
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheckOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ serviceName_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck result = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck(this);
+ result.serviceName_ = serviceName_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance()) return this;
+ if (!other.getServiceName().isEmpty()) {
+ serviceName_ = other.serviceName_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object serviceName_ = "";
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ public java.lang.String getServiceName() {
+ java.lang.Object ref = serviceName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ serviceName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getServiceNameBytes() {
+ java.lang.Object ref = serviceName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ serviceName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ public Builder setServiceName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ serviceName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ public Builder clearServiceName() {
+
+ serviceName_ = getDefaultInstance().getServiceName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional service name parameter which will be sent to gRPC service in
+ * `grpc.health.v1.HealthCheckRequest
+ * &lt;https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20&gt;`_.
+ * message. See `gRPC health-checking overview
+ * &lt;https://github.com/grpc/grpc/blob/master/doc/health-checking.md&gt;`_ for more information.
+ * </pre>
+ *
+ * <code>string service_name = 1;</code>
+ */
+ public Builder setServiceNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ serviceName_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HealthCheck.GrpcHealthCheck)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HealthCheck.GrpcHealthCheck)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<GrpcHealthCheck>
+ PARSER = new com.google.protobuf.AbstractParser<GrpcHealthCheck>() {
+ public GrpcHealthCheck parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new GrpcHealthCheck(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<GrpcHealthCheck> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<GrpcHealthCheck> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface CustomHealthCheckOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HealthCheck.CustomHealthCheck)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getName();
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ boolean hasConfig();
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ com.google.protobuf.Struct getConfig();
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ com.google.protobuf.StructOrBuilder getConfigOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ boolean hasTypedConfig();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ com.google.protobuf.Any getTypedConfig();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.ConfigTypeCase getConfigTypeCase();
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.CustomHealthCheck}
+ */
+ public static final class CustomHealthCheck extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HealthCheck.CustomHealthCheck)
+ CustomHealthCheckOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use CustomHealthCheck.newBuilder() to construct.
+ private CustomHealthCheck(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private CustomHealthCheck() {
+ name_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private CustomHealthCheck(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Struct.Builder subBuilder = null;
+ if (configTypeCase_ == 2) {
+ subBuilder = ((com.google.protobuf.Struct) configType_).toBuilder();
+ }
+ configType_ =
+ input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((com.google.protobuf.Struct) configType_);
+ configType_ = subBuilder.buildPartial();
+ }
+ configTypeCase_ = 2;
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Any.Builder subBuilder = null;
+ if (configTypeCase_ == 3) {
+ subBuilder = ((com.google.protobuf.Any) configType_).toBuilder();
+ }
+ configType_ =
+ input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((com.google.protobuf.Any) configType_);
+ configType_ = subBuilder.buildPartial();
+ }
+ configTypeCase_ = 3;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.Builder.class);
+ }
+
+ private int configTypeCase_ = 0;
+ private java.lang.Object configType_;
+ public enum ConfigTypeCase
+ implements com.google.protobuf.Internal.EnumLite {
+ CONFIG(2),
+ TYPED_CONFIG(3),
+ CONFIGTYPE_NOT_SET(0);
+ private final int value;
+ private ConfigTypeCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ConfigTypeCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static ConfigTypeCase forNumber(int value) {
+ switch (value) {
+ case 2: return CONFIG;
+ case 3: return TYPED_CONFIG;
+ case 0: return CONFIGTYPE_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public ConfigTypeCase
+ getConfigTypeCase() {
+ return ConfigTypeCase.forNumber(
+ configTypeCase_);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CONFIG_FIELD_NUMBER = 2;
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public boolean hasConfig() {
+ return configTypeCase_ == 2;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct getConfig() {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getConfigOrBuilder() {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+
+ public static final int TYPED_CONFIG_FIELD_NUMBER = 3;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public boolean hasTypedConfig() {
+ return configTypeCase_ == 3;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any getTypedConfig() {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (configTypeCase_ == 2) {
+ output.writeMessage(2, (com.google.protobuf.Struct) configType_);
+ }
+ if (configTypeCase_ == 3) {
+ output.writeMessage(3, (com.google.protobuf.Any) configType_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (configTypeCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (com.google.protobuf.Struct) configType_);
+ }
+ if (configTypeCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (com.google.protobuf.Any) configType_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck other = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) obj;
+
+ boolean result = true;
+ result = result && getName()
+ .equals(other.getName());
+ result = result && getConfigTypeCase().equals(
+ other.getConfigTypeCase());
+ if (!result) return false;
+ switch (configTypeCase_) {
+ case 2:
+ result = result && getConfig()
+ .equals(other.getConfig());
+ break;
+ case 3:
+ result = result && getTypedConfig()
+ .equals(other.getTypedConfig());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ switch (configTypeCase_) {
+ case 2:
+ hash = (37 * hash) + CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getConfig().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + TYPED_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getTypedConfig().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck.CustomHealthCheck}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HealthCheck.CustomHealthCheck)
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheckOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ configTypeCase_ = 0;
+ configType_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck result = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck(this);
+ result.name_ = name_;
+ if (configTypeCase_ == 2) {
+ if (configBuilder_ == null) {
+ result.configType_ = configType_;
+ } else {
+ result.configType_ = configBuilder_.build();
+ }
+ }
+ if (configTypeCase_ == 3) {
+ if (typedConfigBuilder_ == null) {
+ result.configType_ = configType_;
+ } else {
+ result.configType_ = typedConfigBuilder_.build();
+ }
+ }
+ result.configTypeCase_ = configTypeCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ switch (other.getConfigTypeCase()) {
+ case CONFIG: {
+ mergeConfig(other.getConfig());
+ break;
+ }
+ case TYPED_CONFIG: {
+ mergeTypedConfig(other.getTypedConfig());
+ break;
+ }
+ case CONFIGTYPE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int configTypeCase_ = 0;
+ private java.lang.Object configType_;
+ public ConfigTypeCase
+ getConfigTypeCase() {
+ return ConfigTypeCase.forNumber(
+ configTypeCase_);
+ }
+
+ public Builder clearConfigType() {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private java.lang.Object name_ = "";
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The registered name of the custom health checker.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> configBuilder_;
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public boolean hasConfig() {
+ return configTypeCase_ == 2;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct getConfig() {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ } else {
+ if (configTypeCase_ == 2) {
+ return configBuilder_.getMessage();
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder setConfig(com.google.protobuf.Struct value) {
+ if (configBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configType_ = value;
+ onChanged();
+ } else {
+ configBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder setConfig(
+ com.google.protobuf.Struct.Builder builderForValue) {
+ if (configBuilder_ == null) {
+ configType_ = builderForValue.build();
+ onChanged();
+ } else {
+ configBuilder_.setMessage(builderForValue.build());
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder mergeConfig(com.google.protobuf.Struct value) {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2 &&
+ configType_ != com.google.protobuf.Struct.getDefaultInstance()) {
+ configType_ = com.google.protobuf.Struct.newBuilder((com.google.protobuf.Struct) configType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ configType_ = value;
+ }
+ onChanged();
+ } else {
+ if (configTypeCase_ == 2) {
+ configBuilder_.mergeFrom(value);
+ }
+ configBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder clearConfig() {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ }
+ } else {
+ if (configTypeCase_ == 2) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ }
+ configBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct.Builder getConfigBuilder() {
+ return getConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getConfigOrBuilder() {
+ if ((configTypeCase_ == 2) && (configBuilder_ != null)) {
+ return configBuilder_.getMessageOrBuilder();
+ } else {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>
+ getConfigFieldBuilder() {
+ if (configBuilder_ == null) {
+ if (!(configTypeCase_ == 2)) {
+ configType_ = com.google.protobuf.Struct.getDefaultInstance();
+ }
+ configBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>(
+ (com.google.protobuf.Struct) configType_,
+ getParentForChildren(),
+ isClean());
+ configType_ = null;
+ }
+ configTypeCase_ = 2;
+ onChanged();;
+ return configBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> typedConfigBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public boolean hasTypedConfig() {
+ return configTypeCase_ == 3;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any getTypedConfig() {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ } else {
+ if (configTypeCase_ == 3) {
+ return typedConfigBuilder_.getMessage();
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder setTypedConfig(com.google.protobuf.Any value) {
+ if (typedConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configType_ = value;
+ onChanged();
+ } else {
+ typedConfigBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder setTypedConfig(
+ com.google.protobuf.Any.Builder builderForValue) {
+ if (typedConfigBuilder_ == null) {
+ configType_ = builderForValue.build();
+ onChanged();
+ } else {
+ typedConfigBuilder_.setMessage(builderForValue.build());
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder mergeTypedConfig(com.google.protobuf.Any value) {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3 &&
+ configType_ != com.google.protobuf.Any.getDefaultInstance()) {
+ configType_ = com.google.protobuf.Any.newBuilder((com.google.protobuf.Any) configType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ configType_ = value;
+ }
+ onChanged();
+ } else {
+ if (configTypeCase_ == 3) {
+ typedConfigBuilder_.mergeFrom(value);
+ }
+ typedConfigBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder clearTypedConfig() {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ }
+ } else {
+ if (configTypeCase_ == 3) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ }
+ typedConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any.Builder getTypedConfigBuilder() {
+ return getTypedConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
+ if ((configTypeCase_ == 3) && (typedConfigBuilder_ != null)) {
+ return typedConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>
+ getTypedConfigFieldBuilder() {
+ if (typedConfigBuilder_ == null) {
+ if (!(configTypeCase_ == 3)) {
+ configType_ = com.google.protobuf.Any.getDefaultInstance();
+ }
+ typedConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
+ (com.google.protobuf.Any) configType_,
+ getParentForChildren(),
+ isClean());
+ configType_ = null;
+ }
+ configTypeCase_ = 3;
+ onChanged();;
+ return typedConfigBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HealthCheck.CustomHealthCheck)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HealthCheck.CustomHealthCheck)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<CustomHealthCheck>
+ PARSER = new com.google.protobuf.AbstractParser<CustomHealthCheck>() {
+ public CustomHealthCheck parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new CustomHealthCheck(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<CustomHealthCheck> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<CustomHealthCheck> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int healthCheckerCase_ = 0;
+ private java.lang.Object healthChecker_;
+ public enum HealthCheckerCase
+ implements com.google.protobuf.Internal.EnumLite {
+ HTTP_HEALTH_CHECK(8),
+ TCP_HEALTH_CHECK(9),
+ GRPC_HEALTH_CHECK(11),
+ CUSTOM_HEALTH_CHECK(13),
+ HEALTHCHECKER_NOT_SET(0);
+ private final int value;
+ private HealthCheckerCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static HealthCheckerCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static HealthCheckerCase forNumber(int value) {
+ switch (value) {
+ case 8: return HTTP_HEALTH_CHECK;
+ case 9: return TCP_HEALTH_CHECK;
+ case 11: return GRPC_HEALTH_CHECK;
+ case 13: return CUSTOM_HEALTH_CHECK;
+ case 0: return HEALTHCHECKER_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public HealthCheckerCase
+ getHealthCheckerCase() {
+ return HealthCheckerCase.forNumber(
+ healthCheckerCase_);
+ }
+
+ public static final int TIMEOUT_FIELD_NUMBER = 1;
+ private com.google.protobuf.Duration timeout_;
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasTimeout() {
+ return timeout_ != null;
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getTimeout() {
+ return timeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeout_;
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder() {
+ return getTimeout();
+ }
+
+ public static final int INTERVAL_FIELD_NUMBER = 2;
+ private com.google.protobuf.Duration interval_;
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasInterval() {
+ return interval_ != null;
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getInterval() {
+ return interval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : interval_;
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getIntervalOrBuilder() {
+ return getInterval();
+ }
+
+ public static final int INTERVAL_JITTER_FIELD_NUMBER = 3;
+ private com.google.protobuf.Duration intervalJitter_;
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public boolean hasIntervalJitter() {
+ return intervalJitter_ != null;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public com.google.protobuf.Duration getIntervalJitter() {
+ return intervalJitter_ == null ? com.google.protobuf.Duration.getDefaultInstance() : intervalJitter_;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getIntervalJitterOrBuilder() {
+ return getIntervalJitter();
+ }
+
+ public static final int INTERVAL_JITTER_PERCENT_FIELD_NUMBER = 18;
+ private int intervalJitterPercent_;
+ /**
+ * <pre>
+ * An optional jitter amount as a percentage of interval_ms. If specified,
+ * during every interval Envoy will add interval_ms *
+ * interval_jitter_percent / 100 to the wait time.
+ * If interval_jitter_ms and interval_jitter_percent are both set, both of
+ * them will be used to increase the wait time.
+ * </pre>
+ *
+ * <code>uint32 interval_jitter_percent = 18;</code>
+ */
+ public int getIntervalJitterPercent() {
+ return intervalJitterPercent_;
+ }
+
+ public static final int UNHEALTHY_THRESHOLD_FIELD_NUMBER = 4;
+ private com.google.protobuf.UInt32Value unhealthyThreshold_;
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public boolean hasUnhealthyThreshold() {
+ return unhealthyThreshold_ != null;
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value getUnhealthyThreshold() {
+ return unhealthyThreshold_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : unhealthyThreshold_;
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getUnhealthyThresholdOrBuilder() {
+ return getUnhealthyThreshold();
+ }
+
+ public static final int HEALTHY_THRESHOLD_FIELD_NUMBER = 5;
+ private com.google.protobuf.UInt32Value healthyThreshold_;
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public boolean hasHealthyThreshold() {
+ return healthyThreshold_ != null;
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value getHealthyThreshold() {
+ return healthyThreshold_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : healthyThreshold_;
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getHealthyThresholdOrBuilder() {
+ return getHealthyThreshold();
+ }
+
+ public static final int ALT_PORT_FIELD_NUMBER = 6;
+ private com.google.protobuf.UInt32Value altPort_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public boolean hasAltPort() {
+ return altPort_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public com.google.protobuf.UInt32Value getAltPort() {
+ return altPort_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : altPort_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getAltPortOrBuilder() {
+ return getAltPort();
+ }
+
+ public static final int REUSE_CONNECTION_FIELD_NUMBER = 7;
+ private com.google.protobuf.BoolValue reuseConnection_;
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public boolean hasReuseConnection() {
+ return reuseConnection_ != null;
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public com.google.protobuf.BoolValue getReuseConnection() {
+ return reuseConnection_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : reuseConnection_;
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getReuseConnectionOrBuilder() {
+ return getReuseConnection();
+ }
+
+ public static final int HTTP_HEALTH_CHECK_FIELD_NUMBER = 8;
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public boolean hasHttpHealthCheck() {
+ return healthCheckerCase_ == 8;
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck getHttpHealthCheck() {
+ if (healthCheckerCase_ == 8) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheckOrBuilder getHttpHealthCheckOrBuilder() {
+ if (healthCheckerCase_ == 8) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance();
+ }
+
+ public static final int TCP_HEALTH_CHECK_FIELD_NUMBER = 9;
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public boolean hasTcpHealthCheck() {
+ return healthCheckerCase_ == 9;
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck getTcpHealthCheck() {
+ if (healthCheckerCase_ == 9) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheckOrBuilder getTcpHealthCheckOrBuilder() {
+ if (healthCheckerCase_ == 9) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance();
+ }
+
+ public static final int GRPC_HEALTH_CHECK_FIELD_NUMBER = 11;
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public boolean hasGrpcHealthCheck() {
+ return healthCheckerCase_ == 11;
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck getGrpcHealthCheck() {
+ if (healthCheckerCase_ == 11) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheckOrBuilder getGrpcHealthCheckOrBuilder() {
+ if (healthCheckerCase_ == 11) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance();
+ }
+
+ public static final int CUSTOM_HEALTH_CHECK_FIELD_NUMBER = 13;
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public boolean hasCustomHealthCheck() {
+ return healthCheckerCase_ == 13;
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck getCustomHealthCheck() {
+ if (healthCheckerCase_ == 13) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheckOrBuilder getCustomHealthCheckOrBuilder() {
+ if (healthCheckerCase_ == 13) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance();
+ }
+
+ public static final int NO_TRAFFIC_INTERVAL_FIELD_NUMBER = 12;
+ private com.google.protobuf.Duration noTrafficInterval_;
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasNoTrafficInterval() {
+ return noTrafficInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getNoTrafficInterval() {
+ return noTrafficInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : noTrafficInterval_;
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getNoTrafficIntervalOrBuilder() {
+ return getNoTrafficInterval();
+ }
+
+ public static final int UNHEALTHY_INTERVAL_FIELD_NUMBER = 14;
+ private com.google.protobuf.Duration unhealthyInterval_;
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasUnhealthyInterval() {
+ return unhealthyInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getUnhealthyInterval() {
+ return unhealthyInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : unhealthyInterval_;
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getUnhealthyIntervalOrBuilder() {
+ return getUnhealthyInterval();
+ }
+
+ public static final int UNHEALTHY_EDGE_INTERVAL_FIELD_NUMBER = 15;
+ private com.google.protobuf.Duration unhealthyEdgeInterval_;
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasUnhealthyEdgeInterval() {
+ return unhealthyEdgeInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getUnhealthyEdgeInterval() {
+ return unhealthyEdgeInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : unhealthyEdgeInterval_;
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getUnhealthyEdgeIntervalOrBuilder() {
+ return getUnhealthyEdgeInterval();
+ }
+
+ public static final int HEALTHY_EDGE_INTERVAL_FIELD_NUMBER = 16;
+ private com.google.protobuf.Duration healthyEdgeInterval_;
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasHealthyEdgeInterval() {
+ return healthyEdgeInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getHealthyEdgeInterval() {
+ return healthyEdgeInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : healthyEdgeInterval_;
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getHealthyEdgeIntervalOrBuilder() {
+ return getHealthyEdgeInterval();
+ }
+
+ public static final int EVENT_LOG_PATH_FIELD_NUMBER = 17;
+ private volatile java.lang.Object eventLogPath_;
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ public java.lang.String getEventLogPath() {
+ java.lang.Object ref = eventLogPath_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ eventLogPath_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ public com.google.protobuf.ByteString
+ getEventLogPathBytes() {
+ java.lang.Object ref = eventLogPath_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ eventLogPath_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ALWAYS_LOG_HEALTH_CHECK_FAILURES_FIELD_NUMBER = 19;
+ private boolean alwaysLogHealthCheckFailures_;
+ /**
+ * <pre>
+ * If set to true, health check failure events will always be logged. If set to false, only the
+ * initial health check failure event will be logged.
+ * The default value is false.
+ * </pre>
+ *
+ * <code>bool always_log_health_check_failures = 19;</code>
+ */
+ public boolean getAlwaysLogHealthCheckFailures() {
+ return alwaysLogHealthCheckFailures_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (timeout_ != null) {
+ output.writeMessage(1, getTimeout());
+ }
+ if (interval_ != null) {
+ output.writeMessage(2, getInterval());
+ }
+ if (intervalJitter_ != null) {
+ output.writeMessage(3, getIntervalJitter());
+ }
+ if (unhealthyThreshold_ != null) {
+ output.writeMessage(4, getUnhealthyThreshold());
+ }
+ if (healthyThreshold_ != null) {
+ output.writeMessage(5, getHealthyThreshold());
+ }
+ if (altPort_ != null) {
+ output.writeMessage(6, getAltPort());
+ }
+ if (reuseConnection_ != null) {
+ output.writeMessage(7, getReuseConnection());
+ }
+ if (healthCheckerCase_ == 8) {
+ output.writeMessage(8, (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_);
+ }
+ if (healthCheckerCase_ == 9) {
+ output.writeMessage(9, (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_);
+ }
+ if (healthCheckerCase_ == 11) {
+ output.writeMessage(11, (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_);
+ }
+ if (noTrafficInterval_ != null) {
+ output.writeMessage(12, getNoTrafficInterval());
+ }
+ if (healthCheckerCase_ == 13) {
+ output.writeMessage(13, (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_);
+ }
+ if (unhealthyInterval_ != null) {
+ output.writeMessage(14, getUnhealthyInterval());
+ }
+ if (unhealthyEdgeInterval_ != null) {
+ output.writeMessage(15, getUnhealthyEdgeInterval());
+ }
+ if (healthyEdgeInterval_ != null) {
+ output.writeMessage(16, getHealthyEdgeInterval());
+ }
+ if (!getEventLogPathBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 17, eventLogPath_);
+ }
+ if (intervalJitterPercent_ != 0) {
+ output.writeUInt32(18, intervalJitterPercent_);
+ }
+ if (alwaysLogHealthCheckFailures_ != false) {
+ output.writeBool(19, alwaysLogHealthCheckFailures_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (timeout_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getTimeout());
+ }
+ if (interval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getInterval());
+ }
+ if (intervalJitter_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getIntervalJitter());
+ }
+ if (unhealthyThreshold_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getUnhealthyThreshold());
+ }
+ if (healthyThreshold_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getHealthyThreshold());
+ }
+ if (altPort_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getAltPort());
+ }
+ if (reuseConnection_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, getReuseConnection());
+ }
+ if (healthCheckerCase_ == 8) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(8, (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_);
+ }
+ if (healthCheckerCase_ == 9) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(9, (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_);
+ }
+ if (healthCheckerCase_ == 11) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(11, (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_);
+ }
+ if (noTrafficInterval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(12, getNoTrafficInterval());
+ }
+ if (healthCheckerCase_ == 13) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(13, (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_);
+ }
+ if (unhealthyInterval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(14, getUnhealthyInterval());
+ }
+ if (unhealthyEdgeInterval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(15, getUnhealthyEdgeInterval());
+ }
+ if (healthyEdgeInterval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(16, getHealthyEdgeInterval());
+ }
+ if (!getEventLogPathBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, eventLogPath_);
+ }
+ if (intervalJitterPercent_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(18, intervalJitterPercent_);
+ }
+ if (alwaysLogHealthCheckFailures_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(19, alwaysLogHealthCheckFailures_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck other = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck) obj;
+
+ boolean result = true;
+ result = result && (hasTimeout() == other.hasTimeout());
+ if (hasTimeout()) {
+ result = result && getTimeout()
+ .equals(other.getTimeout());
+ }
+ result = result && (hasInterval() == other.hasInterval());
+ if (hasInterval()) {
+ result = result && getInterval()
+ .equals(other.getInterval());
+ }
+ result = result && (hasIntervalJitter() == other.hasIntervalJitter());
+ if (hasIntervalJitter()) {
+ result = result && getIntervalJitter()
+ .equals(other.getIntervalJitter());
+ }
+ result = result && (getIntervalJitterPercent()
+ == other.getIntervalJitterPercent());
+ result = result && (hasUnhealthyThreshold() == other.hasUnhealthyThreshold());
+ if (hasUnhealthyThreshold()) {
+ result = result && getUnhealthyThreshold()
+ .equals(other.getUnhealthyThreshold());
+ }
+ result = result && (hasHealthyThreshold() == other.hasHealthyThreshold());
+ if (hasHealthyThreshold()) {
+ result = result && getHealthyThreshold()
+ .equals(other.getHealthyThreshold());
+ }
+ result = result && (hasAltPort() == other.hasAltPort());
+ if (hasAltPort()) {
+ result = result && getAltPort()
+ .equals(other.getAltPort());
+ }
+ result = result && (hasReuseConnection() == other.hasReuseConnection());
+ if (hasReuseConnection()) {
+ result = result && getReuseConnection()
+ .equals(other.getReuseConnection());
+ }
+ result = result && (hasNoTrafficInterval() == other.hasNoTrafficInterval());
+ if (hasNoTrafficInterval()) {
+ result = result && getNoTrafficInterval()
+ .equals(other.getNoTrafficInterval());
+ }
+ result = result && (hasUnhealthyInterval() == other.hasUnhealthyInterval());
+ if (hasUnhealthyInterval()) {
+ result = result && getUnhealthyInterval()
+ .equals(other.getUnhealthyInterval());
+ }
+ result = result && (hasUnhealthyEdgeInterval() == other.hasUnhealthyEdgeInterval());
+ if (hasUnhealthyEdgeInterval()) {
+ result = result && getUnhealthyEdgeInterval()
+ .equals(other.getUnhealthyEdgeInterval());
+ }
+ result = result && (hasHealthyEdgeInterval() == other.hasHealthyEdgeInterval());
+ if (hasHealthyEdgeInterval()) {
+ result = result && getHealthyEdgeInterval()
+ .equals(other.getHealthyEdgeInterval());
+ }
+ result = result && getEventLogPath()
+ .equals(other.getEventLogPath());
+ result = result && (getAlwaysLogHealthCheckFailures()
+ == other.getAlwaysLogHealthCheckFailures());
+ result = result && getHealthCheckerCase().equals(
+ other.getHealthCheckerCase());
+ if (!result) return false;
+ switch (healthCheckerCase_) {
+ case 8:
+ result = result && getHttpHealthCheck()
+ .equals(other.getHttpHealthCheck());
+ break;
+ case 9:
+ result = result && getTcpHealthCheck()
+ .equals(other.getTcpHealthCheck());
+ break;
+ case 11:
+ result = result && getGrpcHealthCheck()
+ .equals(other.getGrpcHealthCheck());
+ break;
+ case 13:
+ result = result && getCustomHealthCheck()
+ .equals(other.getCustomHealthCheck());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasTimeout()) {
+ hash = (37 * hash) + TIMEOUT_FIELD_NUMBER;
+ hash = (53 * hash) + getTimeout().hashCode();
+ }
+ if (hasInterval()) {
+ hash = (37 * hash) + INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getInterval().hashCode();
+ }
+ if (hasIntervalJitter()) {
+ hash = (37 * hash) + INTERVAL_JITTER_FIELD_NUMBER;
+ hash = (53 * hash) + getIntervalJitter().hashCode();
+ }
+ hash = (37 * hash) + INTERVAL_JITTER_PERCENT_FIELD_NUMBER;
+ hash = (53 * hash) + getIntervalJitterPercent();
+ if (hasUnhealthyThreshold()) {
+ hash = (37 * hash) + UNHEALTHY_THRESHOLD_FIELD_NUMBER;
+ hash = (53 * hash) + getUnhealthyThreshold().hashCode();
+ }
+ if (hasHealthyThreshold()) {
+ hash = (37 * hash) + HEALTHY_THRESHOLD_FIELD_NUMBER;
+ hash = (53 * hash) + getHealthyThreshold().hashCode();
+ }
+ if (hasAltPort()) {
+ hash = (37 * hash) + ALT_PORT_FIELD_NUMBER;
+ hash = (53 * hash) + getAltPort().hashCode();
+ }
+ if (hasReuseConnection()) {
+ hash = (37 * hash) + REUSE_CONNECTION_FIELD_NUMBER;
+ hash = (53 * hash) + getReuseConnection().hashCode();
+ }
+ if (hasNoTrafficInterval()) {
+ hash = (37 * hash) + NO_TRAFFIC_INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getNoTrafficInterval().hashCode();
+ }
+ if (hasUnhealthyInterval()) {
+ hash = (37 * hash) + UNHEALTHY_INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getUnhealthyInterval().hashCode();
+ }
+ if (hasUnhealthyEdgeInterval()) {
+ hash = (37 * hash) + UNHEALTHY_EDGE_INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getUnhealthyEdgeInterval().hashCode();
+ }
+ if (hasHealthyEdgeInterval()) {
+ hash = (37 * hash) + HEALTHY_EDGE_INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getHealthyEdgeInterval().hashCode();
+ }
+ hash = (37 * hash) + EVENT_LOG_PATH_FIELD_NUMBER;
+ hash = (53 * hash) + getEventLogPath().hashCode();
+ hash = (37 * hash) + ALWAYS_LOG_HEALTH_CHECK_FAILURES_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getAlwaysLogHealthCheckFailures());
+ switch (healthCheckerCase_) {
+ case 8:
+ hash = (37 * hash) + HTTP_HEALTH_CHECK_FIELD_NUMBER;
+ hash = (53 * hash) + getHttpHealthCheck().hashCode();
+ break;
+ case 9:
+ hash = (37 * hash) + TCP_HEALTH_CHECK_FIELD_NUMBER;
+ hash = (53 * hash) + getTcpHealthCheck().hashCode();
+ break;
+ case 11:
+ hash = (37 * hash) + GRPC_HEALTH_CHECK_FIELD_NUMBER;
+ hash = (53 * hash) + getGrpcHealthCheck().hashCode();
+ break;
+ case 13:
+ hash = (37 * hash) + CUSTOM_HEALTH_CHECK_FIELD_NUMBER;
+ hash = (53 * hash) + getCustomHealthCheck().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.HealthCheck}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HealthCheck)
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.class, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (timeoutBuilder_ == null) {
+ timeout_ = null;
+ } else {
+ timeout_ = null;
+ timeoutBuilder_ = null;
+ }
+ if (intervalBuilder_ == null) {
+ interval_ = null;
+ } else {
+ interval_ = null;
+ intervalBuilder_ = null;
+ }
+ if (intervalJitterBuilder_ == null) {
+ intervalJitter_ = null;
+ } else {
+ intervalJitter_ = null;
+ intervalJitterBuilder_ = null;
+ }
+ intervalJitterPercent_ = 0;
+
+ if (unhealthyThresholdBuilder_ == null) {
+ unhealthyThreshold_ = null;
+ } else {
+ unhealthyThreshold_ = null;
+ unhealthyThresholdBuilder_ = null;
+ }
+ if (healthyThresholdBuilder_ == null) {
+ healthyThreshold_ = null;
+ } else {
+ healthyThreshold_ = null;
+ healthyThresholdBuilder_ = null;
+ }
+ if (altPortBuilder_ == null) {
+ altPort_ = null;
+ } else {
+ altPort_ = null;
+ altPortBuilder_ = null;
+ }
+ if (reuseConnectionBuilder_ == null) {
+ reuseConnection_ = null;
+ } else {
+ reuseConnection_ = null;
+ reuseConnectionBuilder_ = null;
+ }
+ if (noTrafficIntervalBuilder_ == null) {
+ noTrafficInterval_ = null;
+ } else {
+ noTrafficInterval_ = null;
+ noTrafficIntervalBuilder_ = null;
+ }
+ if (unhealthyIntervalBuilder_ == null) {
+ unhealthyInterval_ = null;
+ } else {
+ unhealthyInterval_ = null;
+ unhealthyIntervalBuilder_ = null;
+ }
+ if (unhealthyEdgeIntervalBuilder_ == null) {
+ unhealthyEdgeInterval_ = null;
+ } else {
+ unhealthyEdgeInterval_ = null;
+ unhealthyEdgeIntervalBuilder_ = null;
+ }
+ if (healthyEdgeIntervalBuilder_ == null) {
+ healthyEdgeInterval_ = null;
+ } else {
+ healthyEdgeInterval_ = null;
+ healthyEdgeIntervalBuilder_ = null;
+ }
+ eventLogPath_ = "";
+
+ alwaysLogHealthCheckFailures_ = false;
+
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.internal_static_envoy_api_v2_core_HealthCheck_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck result = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck(this);
+ if (timeoutBuilder_ == null) {
+ result.timeout_ = timeout_;
+ } else {
+ result.timeout_ = timeoutBuilder_.build();
+ }
+ if (intervalBuilder_ == null) {
+ result.interval_ = interval_;
+ } else {
+ result.interval_ = intervalBuilder_.build();
+ }
+ if (intervalJitterBuilder_ == null) {
+ result.intervalJitter_ = intervalJitter_;
+ } else {
+ result.intervalJitter_ = intervalJitterBuilder_.build();
+ }
+ result.intervalJitterPercent_ = intervalJitterPercent_;
+ if (unhealthyThresholdBuilder_ == null) {
+ result.unhealthyThreshold_ = unhealthyThreshold_;
+ } else {
+ result.unhealthyThreshold_ = unhealthyThresholdBuilder_.build();
+ }
+ if (healthyThresholdBuilder_ == null) {
+ result.healthyThreshold_ = healthyThreshold_;
+ } else {
+ result.healthyThreshold_ = healthyThresholdBuilder_.build();
+ }
+ if (altPortBuilder_ == null) {
+ result.altPort_ = altPort_;
+ } else {
+ result.altPort_ = altPortBuilder_.build();
+ }
+ if (reuseConnectionBuilder_ == null) {
+ result.reuseConnection_ = reuseConnection_;
+ } else {
+ result.reuseConnection_ = reuseConnectionBuilder_.build();
+ }
+ if (healthCheckerCase_ == 8) {
+ if (httpHealthCheckBuilder_ == null) {
+ result.healthChecker_ = healthChecker_;
+ } else {
+ result.healthChecker_ = httpHealthCheckBuilder_.build();
+ }
+ }
+ if (healthCheckerCase_ == 9) {
+ if (tcpHealthCheckBuilder_ == null) {
+ result.healthChecker_ = healthChecker_;
+ } else {
+ result.healthChecker_ = tcpHealthCheckBuilder_.build();
+ }
+ }
+ if (healthCheckerCase_ == 11) {
+ if (grpcHealthCheckBuilder_ == null) {
+ result.healthChecker_ = healthChecker_;
+ } else {
+ result.healthChecker_ = grpcHealthCheckBuilder_.build();
+ }
+ }
+ if (healthCheckerCase_ == 13) {
+ if (customHealthCheckBuilder_ == null) {
+ result.healthChecker_ = healthChecker_;
+ } else {
+ result.healthChecker_ = customHealthCheckBuilder_.build();
+ }
+ }
+ if (noTrafficIntervalBuilder_ == null) {
+ result.noTrafficInterval_ = noTrafficInterval_;
+ } else {
+ result.noTrafficInterval_ = noTrafficIntervalBuilder_.build();
+ }
+ if (unhealthyIntervalBuilder_ == null) {
+ result.unhealthyInterval_ = unhealthyInterval_;
+ } else {
+ result.unhealthyInterval_ = unhealthyIntervalBuilder_.build();
+ }
+ if (unhealthyEdgeIntervalBuilder_ == null) {
+ result.unhealthyEdgeInterval_ = unhealthyEdgeInterval_;
+ } else {
+ result.unhealthyEdgeInterval_ = unhealthyEdgeIntervalBuilder_.build();
+ }
+ if (healthyEdgeIntervalBuilder_ == null) {
+ result.healthyEdgeInterval_ = healthyEdgeInterval_;
+ } else {
+ result.healthyEdgeInterval_ = healthyEdgeIntervalBuilder_.build();
+ }
+ result.eventLogPath_ = eventLogPath_;
+ result.alwaysLogHealthCheckFailures_ = alwaysLogHealthCheckFailures_;
+ result.healthCheckerCase_ = healthCheckerCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.getDefaultInstance()) return this;
+ if (other.hasTimeout()) {
+ mergeTimeout(other.getTimeout());
+ }
+ if (other.hasInterval()) {
+ mergeInterval(other.getInterval());
+ }
+ if (other.hasIntervalJitter()) {
+ mergeIntervalJitter(other.getIntervalJitter());
+ }
+ if (other.getIntervalJitterPercent() != 0) {
+ setIntervalJitterPercent(other.getIntervalJitterPercent());
+ }
+ if (other.hasUnhealthyThreshold()) {
+ mergeUnhealthyThreshold(other.getUnhealthyThreshold());
+ }
+ if (other.hasHealthyThreshold()) {
+ mergeHealthyThreshold(other.getHealthyThreshold());
+ }
+ if (other.hasAltPort()) {
+ mergeAltPort(other.getAltPort());
+ }
+ if (other.hasReuseConnection()) {
+ mergeReuseConnection(other.getReuseConnection());
+ }
+ if (other.hasNoTrafficInterval()) {
+ mergeNoTrafficInterval(other.getNoTrafficInterval());
+ }
+ if (other.hasUnhealthyInterval()) {
+ mergeUnhealthyInterval(other.getUnhealthyInterval());
+ }
+ if (other.hasUnhealthyEdgeInterval()) {
+ mergeUnhealthyEdgeInterval(other.getUnhealthyEdgeInterval());
+ }
+ if (other.hasHealthyEdgeInterval()) {
+ mergeHealthyEdgeInterval(other.getHealthyEdgeInterval());
+ }
+ if (!other.getEventLogPath().isEmpty()) {
+ eventLogPath_ = other.eventLogPath_;
+ onChanged();
+ }
+ if (other.getAlwaysLogHealthCheckFailures() != false) {
+ setAlwaysLogHealthCheckFailures(other.getAlwaysLogHealthCheckFailures());
+ }
+ switch (other.getHealthCheckerCase()) {
+ case HTTP_HEALTH_CHECK: {
+ mergeHttpHealthCheck(other.getHttpHealthCheck());
+ break;
+ }
+ case TCP_HEALTH_CHECK: {
+ mergeTcpHealthCheck(other.getTcpHealthCheck());
+ break;
+ }
+ case GRPC_HEALTH_CHECK: {
+ mergeGrpcHealthCheck(other.getGrpcHealthCheck());
+ break;
+ }
+ case CUSTOM_HEALTH_CHECK: {
+ mergeCustomHealthCheck(other.getCustomHealthCheck());
+ break;
+ }
+ case HEALTHCHECKER_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int healthCheckerCase_ = 0;
+ private java.lang.Object healthChecker_;
+ public HealthCheckerCase
+ getHealthCheckerCase() {
+ return HealthCheckerCase.forNumber(
+ healthCheckerCase_);
+ }
+
+ public Builder clearHealthChecker() {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private com.google.protobuf.Duration timeout_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> timeoutBuilder_;
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasTimeout() {
+ return timeoutBuilder_ != null || timeout_ != null;
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getTimeout() {
+ if (timeoutBuilder_ == null) {
+ return timeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : timeout_;
+ } else {
+ return timeoutBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTimeout(com.google.protobuf.Duration value) {
+ if (timeoutBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ timeout_ = value;
+ onChanged();
+ } else {
+ timeoutBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setTimeout(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (timeoutBuilder_ == null) {
+ timeout_ = builderForValue.build();
+ onChanged();
+ } else {
+ timeoutBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeTimeout(com.google.protobuf.Duration value) {
+ if (timeoutBuilder_ == null) {
+ if (timeout_ != null) {
+ timeout_ =
+ com.google.protobuf.Duration.newBuilder(timeout_).mergeFrom(value).buildPartial();
+ } else {
+ timeout_ = value;
+ }
+ onChanged();
+ } else {
+ timeoutBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearTimeout() {
+ if (timeoutBuilder_ == null) {
+ timeout_ = null;
+ onChanged();
+ } else {
+ timeout_ = null;
+ timeoutBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getTimeoutBuilder() {
+
+ onChanged();
+ return getTimeoutFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder() {
+ if (timeoutBuilder_ != null) {
+ return timeoutBuilder_.getMessageOrBuilder();
+ } else {
+ return timeout_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : timeout_;
+ }
+ }
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getTimeoutFieldBuilder() {
+ if (timeoutBuilder_ == null) {
+ timeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getTimeout(),
+ getParentForChildren(),
+ isClean());
+ timeout_ = null;
+ }
+ return timeoutBuilder_;
+ }
+
+ private com.google.protobuf.Duration interval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> intervalBuilder_;
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasInterval() {
+ return intervalBuilder_ != null || interval_ != null;
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getInterval() {
+ if (intervalBuilder_ == null) {
+ return interval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : interval_;
+ } else {
+ return intervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInterval(com.google.protobuf.Duration value) {
+ if (intervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ interval_ = value;
+ onChanged();
+ } else {
+ intervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInterval(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (intervalBuilder_ == null) {
+ interval_ = builderForValue.build();
+ onChanged();
+ } else {
+ intervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeInterval(com.google.protobuf.Duration value) {
+ if (intervalBuilder_ == null) {
+ if (interval_ != null) {
+ interval_ =
+ com.google.protobuf.Duration.newBuilder(interval_).mergeFrom(value).buildPartial();
+ } else {
+ interval_ = value;
+ }
+ onChanged();
+ } else {
+ intervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearInterval() {
+ if (intervalBuilder_ == null) {
+ interval_ = null;
+ onChanged();
+ } else {
+ interval_ = null;
+ intervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getIntervalBuilder() {
+
+ onChanged();
+ return getIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getIntervalOrBuilder() {
+ if (intervalBuilder_ != null) {
+ return intervalBuilder_.getMessageOrBuilder();
+ } else {
+ return interval_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : interval_;
+ }
+ }
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getIntervalFieldBuilder() {
+ if (intervalBuilder_ == null) {
+ intervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getInterval(),
+ getParentForChildren(),
+ isClean());
+ interval_ = null;
+ }
+ return intervalBuilder_;
+ }
+
+ private com.google.protobuf.Duration intervalJitter_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> intervalJitterBuilder_;
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public boolean hasIntervalJitter() {
+ return intervalJitterBuilder_ != null || intervalJitter_ != null;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public com.google.protobuf.Duration getIntervalJitter() {
+ if (intervalJitterBuilder_ == null) {
+ return intervalJitter_ == null ? com.google.protobuf.Duration.getDefaultInstance() : intervalJitter_;
+ } else {
+ return intervalJitterBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public Builder setIntervalJitter(com.google.protobuf.Duration value) {
+ if (intervalJitterBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ intervalJitter_ = value;
+ onChanged();
+ } else {
+ intervalJitterBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public Builder setIntervalJitter(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (intervalJitterBuilder_ == null) {
+ intervalJitter_ = builderForValue.build();
+ onChanged();
+ } else {
+ intervalJitterBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public Builder mergeIntervalJitter(com.google.protobuf.Duration value) {
+ if (intervalJitterBuilder_ == null) {
+ if (intervalJitter_ != null) {
+ intervalJitter_ =
+ com.google.protobuf.Duration.newBuilder(intervalJitter_).mergeFrom(value).buildPartial();
+ } else {
+ intervalJitter_ = value;
+ }
+ onChanged();
+ } else {
+ intervalJitterBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public Builder clearIntervalJitter() {
+ if (intervalJitterBuilder_ == null) {
+ intervalJitter_ = null;
+ onChanged();
+ } else {
+ intervalJitter_ = null;
+ intervalJitterBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public com.google.protobuf.Duration.Builder getIntervalJitterBuilder() {
+
+ onChanged();
+ return getIntervalJitterFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getIntervalJitterOrBuilder() {
+ if (intervalJitterBuilder_ != null) {
+ return intervalJitterBuilder_.getMessageOrBuilder();
+ } else {
+ return intervalJitter_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : intervalJitter_;
+ }
+ }
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getIntervalJitterFieldBuilder() {
+ if (intervalJitterBuilder_ == null) {
+ intervalJitterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getIntervalJitter(),
+ getParentForChildren(),
+ isClean());
+ intervalJitter_ = null;
+ }
+ return intervalJitterBuilder_;
+ }
+
+ private int intervalJitterPercent_ ;
+ /**
+ * <pre>
+ * An optional jitter amount as a percentage of interval_ms. If specified,
+ * during every interval Envoy will add interval_ms *
+ * interval_jitter_percent / 100 to the wait time.
+ * If interval_jitter_ms and interval_jitter_percent are both set, both of
+ * them will be used to increase the wait time.
+ * </pre>
+ *
+ * <code>uint32 interval_jitter_percent = 18;</code>
+ */
+ public int getIntervalJitterPercent() {
+ return intervalJitterPercent_;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount as a percentage of interval_ms. If specified,
+ * during every interval Envoy will add interval_ms *
+ * interval_jitter_percent / 100 to the wait time.
+ * If interval_jitter_ms and interval_jitter_percent are both set, both of
+ * them will be used to increase the wait time.
+ * </pre>
+ *
+ * <code>uint32 interval_jitter_percent = 18;</code>
+ */
+ public Builder setIntervalJitterPercent(int value) {
+
+ intervalJitterPercent_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional jitter amount as a percentage of interval_ms. If specified,
+ * during every interval Envoy will add interval_ms *
+ * interval_jitter_percent / 100 to the wait time.
+ * If interval_jitter_ms and interval_jitter_percent are both set, both of
+ * them will be used to increase the wait time.
+ * </pre>
+ *
+ * <code>uint32 interval_jitter_percent = 18;</code>
+ */
+ public Builder clearIntervalJitterPercent() {
+
+ intervalJitterPercent_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value unhealthyThreshold_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> unhealthyThresholdBuilder_;
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public boolean hasUnhealthyThreshold() {
+ return unhealthyThresholdBuilder_ != null || unhealthyThreshold_ != null;
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value getUnhealthyThreshold() {
+ if (unhealthyThresholdBuilder_ == null) {
+ return unhealthyThreshold_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : unhealthyThreshold_;
+ } else {
+ return unhealthyThresholdBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public Builder setUnhealthyThreshold(com.google.protobuf.UInt32Value value) {
+ if (unhealthyThresholdBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ unhealthyThreshold_ = value;
+ onChanged();
+ } else {
+ unhealthyThresholdBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public Builder setUnhealthyThreshold(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (unhealthyThresholdBuilder_ == null) {
+ unhealthyThreshold_ = builderForValue.build();
+ onChanged();
+ } else {
+ unhealthyThresholdBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public Builder mergeUnhealthyThreshold(com.google.protobuf.UInt32Value value) {
+ if (unhealthyThresholdBuilder_ == null) {
+ if (unhealthyThreshold_ != null) {
+ unhealthyThreshold_ =
+ com.google.protobuf.UInt32Value.newBuilder(unhealthyThreshold_).mergeFrom(value).buildPartial();
+ } else {
+ unhealthyThreshold_ = value;
+ }
+ onChanged();
+ } else {
+ unhealthyThresholdBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public Builder clearUnhealthyThreshold() {
+ if (unhealthyThresholdBuilder_ == null) {
+ unhealthyThreshold_ = null;
+ onChanged();
+ } else {
+ unhealthyThreshold_ = null;
+ unhealthyThresholdBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getUnhealthyThresholdBuilder() {
+
+ onChanged();
+ return getUnhealthyThresholdFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getUnhealthyThresholdOrBuilder() {
+ if (unhealthyThresholdBuilder_ != null) {
+ return unhealthyThresholdBuilder_.getMessageOrBuilder();
+ } else {
+ return unhealthyThreshold_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : unhealthyThreshold_;
+ }
+ }
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getUnhealthyThresholdFieldBuilder() {
+ if (unhealthyThresholdBuilder_ == null) {
+ unhealthyThresholdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getUnhealthyThreshold(),
+ getParentForChildren(),
+ isClean());
+ unhealthyThreshold_ = null;
+ }
+ return unhealthyThresholdBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value healthyThreshold_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> healthyThresholdBuilder_;
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public boolean hasHealthyThreshold() {
+ return healthyThresholdBuilder_ != null || healthyThreshold_ != null;
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value getHealthyThreshold() {
+ if (healthyThresholdBuilder_ == null) {
+ return healthyThreshold_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : healthyThreshold_;
+ } else {
+ return healthyThresholdBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public Builder setHealthyThreshold(com.google.protobuf.UInt32Value value) {
+ if (healthyThresholdBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ healthyThreshold_ = value;
+ onChanged();
+ } else {
+ healthyThresholdBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public Builder setHealthyThreshold(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (healthyThresholdBuilder_ == null) {
+ healthyThreshold_ = builderForValue.build();
+ onChanged();
+ } else {
+ healthyThresholdBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public Builder mergeHealthyThreshold(com.google.protobuf.UInt32Value value) {
+ if (healthyThresholdBuilder_ == null) {
+ if (healthyThreshold_ != null) {
+ healthyThreshold_ =
+ com.google.protobuf.UInt32Value.newBuilder(healthyThreshold_).mergeFrom(value).buildPartial();
+ } else {
+ healthyThreshold_ = value;
+ }
+ onChanged();
+ } else {
+ healthyThresholdBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public Builder clearHealthyThreshold() {
+ if (healthyThresholdBuilder_ == null) {
+ healthyThreshold_ = null;
+ onChanged();
+ } else {
+ healthyThreshold_ = null;
+ healthyThresholdBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getHealthyThresholdBuilder() {
+
+ onChanged();
+ return getHealthyThresholdFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getHealthyThresholdOrBuilder() {
+ if (healthyThresholdBuilder_ != null) {
+ return healthyThresholdBuilder_.getMessageOrBuilder();
+ } else {
+ return healthyThreshold_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : healthyThreshold_;
+ }
+ }
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getHealthyThresholdFieldBuilder() {
+ if (healthyThresholdBuilder_ == null) {
+ healthyThresholdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getHealthyThreshold(),
+ getParentForChildren(),
+ isClean());
+ healthyThreshold_ = null;
+ }
+ return healthyThresholdBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value altPort_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> altPortBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public boolean hasAltPort() {
+ return altPortBuilder_ != null || altPort_ != null;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public com.google.protobuf.UInt32Value getAltPort() {
+ if (altPortBuilder_ == null) {
+ return altPort_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : altPort_;
+ } else {
+ return altPortBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public Builder setAltPort(com.google.protobuf.UInt32Value value) {
+ if (altPortBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ altPort_ = value;
+ onChanged();
+ } else {
+ altPortBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public Builder setAltPort(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (altPortBuilder_ == null) {
+ altPort_ = builderForValue.build();
+ onChanged();
+ } else {
+ altPortBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public Builder mergeAltPort(com.google.protobuf.UInt32Value value) {
+ if (altPortBuilder_ == null) {
+ if (altPort_ != null) {
+ altPort_ =
+ com.google.protobuf.UInt32Value.newBuilder(altPort_).mergeFrom(value).buildPartial();
+ } else {
+ altPort_ = value;
+ }
+ onChanged();
+ } else {
+ altPortBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public Builder clearAltPort() {
+ if (altPortBuilder_ == null) {
+ altPort_ = null;
+ onChanged();
+ } else {
+ altPort_ = null;
+ altPortBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getAltPortBuilder() {
+
+ onChanged();
+ return getAltPortFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getAltPortOrBuilder() {
+ if (altPortBuilder_ != null) {
+ return altPortBuilder_.getMessageOrBuilder();
+ } else {
+ return altPort_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : altPort_;
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getAltPortFieldBuilder() {
+ if (altPortBuilder_ == null) {
+ altPortBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getAltPort(),
+ getParentForChildren(),
+ isClean());
+ altPort_ = null;
+ }
+ return altPortBuilder_;
+ }
+
+ private com.google.protobuf.BoolValue reuseConnection_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> reuseConnectionBuilder_;
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public boolean hasReuseConnection() {
+ return reuseConnectionBuilder_ != null || reuseConnection_ != null;
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public com.google.protobuf.BoolValue getReuseConnection() {
+ if (reuseConnectionBuilder_ == null) {
+ return reuseConnection_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : reuseConnection_;
+ } else {
+ return reuseConnectionBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public Builder setReuseConnection(com.google.protobuf.BoolValue value) {
+ if (reuseConnectionBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ reuseConnection_ = value;
+ onChanged();
+ } else {
+ reuseConnectionBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public Builder setReuseConnection(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (reuseConnectionBuilder_ == null) {
+ reuseConnection_ = builderForValue.build();
+ onChanged();
+ } else {
+ reuseConnectionBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public Builder mergeReuseConnection(com.google.protobuf.BoolValue value) {
+ if (reuseConnectionBuilder_ == null) {
+ if (reuseConnection_ != null) {
+ reuseConnection_ =
+ com.google.protobuf.BoolValue.newBuilder(reuseConnection_).mergeFrom(value).buildPartial();
+ } else {
+ reuseConnection_ = value;
+ }
+ onChanged();
+ } else {
+ reuseConnectionBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public Builder clearReuseConnection() {
+ if (reuseConnectionBuilder_ == null) {
+ reuseConnection_ = null;
+ onChanged();
+ } else {
+ reuseConnection_ = null;
+ reuseConnectionBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getReuseConnectionBuilder() {
+
+ onChanged();
+ return getReuseConnectionFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getReuseConnectionOrBuilder() {
+ if (reuseConnectionBuilder_ != null) {
+ return reuseConnectionBuilder_.getMessageOrBuilder();
+ } else {
+ return reuseConnection_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : reuseConnection_;
+ }
+ }
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getReuseConnectionFieldBuilder() {
+ if (reuseConnectionBuilder_ == null) {
+ reuseConnectionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getReuseConnection(),
+ getParentForChildren(),
+ isClean());
+ reuseConnection_ = null;
+ }
+ return reuseConnectionBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheckOrBuilder> httpHealthCheckBuilder_;
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public boolean hasHttpHealthCheck() {
+ return healthCheckerCase_ == 8;
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck getHttpHealthCheck() {
+ if (httpHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 8) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance();
+ } else {
+ if (healthCheckerCase_ == 8) {
+ return httpHealthCheckBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public Builder setHttpHealthCheck(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck value) {
+ if (httpHealthCheckBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ healthChecker_ = value;
+ onChanged();
+ } else {
+ httpHealthCheckBuilder_.setMessage(value);
+ }
+ healthCheckerCase_ = 8;
+ return this;
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public Builder setHttpHealthCheck(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.Builder builderForValue) {
+ if (httpHealthCheckBuilder_ == null) {
+ healthChecker_ = builderForValue.build();
+ onChanged();
+ } else {
+ httpHealthCheckBuilder_.setMessage(builderForValue.build());
+ }
+ healthCheckerCase_ = 8;
+ return this;
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public Builder mergeHttpHealthCheck(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck value) {
+ if (httpHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 8 &&
+ healthChecker_ != io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance()) {
+ healthChecker_ = io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ healthChecker_ = value;
+ }
+ onChanged();
+ } else {
+ if (healthCheckerCase_ == 8) {
+ httpHealthCheckBuilder_.mergeFrom(value);
+ }
+ httpHealthCheckBuilder_.setMessage(value);
+ }
+ healthCheckerCase_ = 8;
+ return this;
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public Builder clearHttpHealthCheck() {
+ if (httpHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 8) {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ onChanged();
+ }
+ } else {
+ if (healthCheckerCase_ == 8) {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ }
+ httpHealthCheckBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.Builder getHttpHealthCheckBuilder() {
+ return getHttpHealthCheckFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheckOrBuilder getHttpHealthCheckOrBuilder() {
+ if ((healthCheckerCase_ == 8) && (httpHealthCheckBuilder_ != null)) {
+ return httpHealthCheckBuilder_.getMessageOrBuilder();
+ } else {
+ if (healthCheckerCase_ == 8) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheckOrBuilder>
+ getHttpHealthCheckFieldBuilder() {
+ if (httpHealthCheckBuilder_ == null) {
+ if (!(healthCheckerCase_ == 8)) {
+ healthChecker_ = io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.getDefaultInstance();
+ }
+ httpHealthCheckBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheckOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck) healthChecker_,
+ getParentForChildren(),
+ isClean());
+ healthChecker_ = null;
+ }
+ healthCheckerCase_ = 8;
+ onChanged();;
+ return httpHealthCheckBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheckOrBuilder> tcpHealthCheckBuilder_;
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public boolean hasTcpHealthCheck() {
+ return healthCheckerCase_ == 9;
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck getTcpHealthCheck() {
+ if (tcpHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 9) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance();
+ } else {
+ if (healthCheckerCase_ == 9) {
+ return tcpHealthCheckBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public Builder setTcpHealthCheck(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck value) {
+ if (tcpHealthCheckBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ healthChecker_ = value;
+ onChanged();
+ } else {
+ tcpHealthCheckBuilder_.setMessage(value);
+ }
+ healthCheckerCase_ = 9;
+ return this;
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public Builder setTcpHealthCheck(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.Builder builderForValue) {
+ if (tcpHealthCheckBuilder_ == null) {
+ healthChecker_ = builderForValue.build();
+ onChanged();
+ } else {
+ tcpHealthCheckBuilder_.setMessage(builderForValue.build());
+ }
+ healthCheckerCase_ = 9;
+ return this;
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public Builder mergeTcpHealthCheck(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck value) {
+ if (tcpHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 9 &&
+ healthChecker_ != io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance()) {
+ healthChecker_ = io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ healthChecker_ = value;
+ }
+ onChanged();
+ } else {
+ if (healthCheckerCase_ == 9) {
+ tcpHealthCheckBuilder_.mergeFrom(value);
+ }
+ tcpHealthCheckBuilder_.setMessage(value);
+ }
+ healthCheckerCase_ = 9;
+ return this;
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public Builder clearTcpHealthCheck() {
+ if (tcpHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 9) {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ onChanged();
+ }
+ } else {
+ if (healthCheckerCase_ == 9) {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ }
+ tcpHealthCheckBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.Builder getTcpHealthCheckBuilder() {
+ return getTcpHealthCheckFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheckOrBuilder getTcpHealthCheckOrBuilder() {
+ if ((healthCheckerCase_ == 9) && (tcpHealthCheckBuilder_ != null)) {
+ return tcpHealthCheckBuilder_.getMessageOrBuilder();
+ } else {
+ if (healthCheckerCase_ == 9) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheckOrBuilder>
+ getTcpHealthCheckFieldBuilder() {
+ if (tcpHealthCheckBuilder_ == null) {
+ if (!(healthCheckerCase_ == 9)) {
+ healthChecker_ = io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.getDefaultInstance();
+ }
+ tcpHealthCheckBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheckOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck) healthChecker_,
+ getParentForChildren(),
+ isClean());
+ healthChecker_ = null;
+ }
+ healthCheckerCase_ = 9;
+ onChanged();;
+ return tcpHealthCheckBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheckOrBuilder> grpcHealthCheckBuilder_;
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public boolean hasGrpcHealthCheck() {
+ return healthCheckerCase_ == 11;
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck getGrpcHealthCheck() {
+ if (grpcHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 11) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance();
+ } else {
+ if (healthCheckerCase_ == 11) {
+ return grpcHealthCheckBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public Builder setGrpcHealthCheck(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck value) {
+ if (grpcHealthCheckBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ healthChecker_ = value;
+ onChanged();
+ } else {
+ grpcHealthCheckBuilder_.setMessage(value);
+ }
+ healthCheckerCase_ = 11;
+ return this;
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public Builder setGrpcHealthCheck(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.Builder builderForValue) {
+ if (grpcHealthCheckBuilder_ == null) {
+ healthChecker_ = builderForValue.build();
+ onChanged();
+ } else {
+ grpcHealthCheckBuilder_.setMessage(builderForValue.build());
+ }
+ healthCheckerCase_ = 11;
+ return this;
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public Builder mergeGrpcHealthCheck(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck value) {
+ if (grpcHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 11 &&
+ healthChecker_ != io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance()) {
+ healthChecker_ = io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ healthChecker_ = value;
+ }
+ onChanged();
+ } else {
+ if (healthCheckerCase_ == 11) {
+ grpcHealthCheckBuilder_.mergeFrom(value);
+ }
+ grpcHealthCheckBuilder_.setMessage(value);
+ }
+ healthCheckerCase_ = 11;
+ return this;
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public Builder clearGrpcHealthCheck() {
+ if (grpcHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 11) {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ onChanged();
+ }
+ } else {
+ if (healthCheckerCase_ == 11) {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ }
+ grpcHealthCheckBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.Builder getGrpcHealthCheckBuilder() {
+ return getGrpcHealthCheckFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheckOrBuilder getGrpcHealthCheckOrBuilder() {
+ if ((healthCheckerCase_ == 11) && (grpcHealthCheckBuilder_ != null)) {
+ return grpcHealthCheckBuilder_.getMessageOrBuilder();
+ } else {
+ if (healthCheckerCase_ == 11) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheckOrBuilder>
+ getGrpcHealthCheckFieldBuilder() {
+ if (grpcHealthCheckBuilder_ == null) {
+ if (!(healthCheckerCase_ == 11)) {
+ healthChecker_ = io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.getDefaultInstance();
+ }
+ grpcHealthCheckBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheckOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck) healthChecker_,
+ getParentForChildren(),
+ isClean());
+ healthChecker_ = null;
+ }
+ healthCheckerCase_ = 11;
+ onChanged();;
+ return grpcHealthCheckBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheckOrBuilder> customHealthCheckBuilder_;
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public boolean hasCustomHealthCheck() {
+ return healthCheckerCase_ == 13;
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck getCustomHealthCheck() {
+ if (customHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 13) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance();
+ } else {
+ if (healthCheckerCase_ == 13) {
+ return customHealthCheckBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public Builder setCustomHealthCheck(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck value) {
+ if (customHealthCheckBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ healthChecker_ = value;
+ onChanged();
+ } else {
+ customHealthCheckBuilder_.setMessage(value);
+ }
+ healthCheckerCase_ = 13;
+ return this;
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public Builder setCustomHealthCheck(
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.Builder builderForValue) {
+ if (customHealthCheckBuilder_ == null) {
+ healthChecker_ = builderForValue.build();
+ onChanged();
+ } else {
+ customHealthCheckBuilder_.setMessage(builderForValue.build());
+ }
+ healthCheckerCase_ = 13;
+ return this;
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public Builder mergeCustomHealthCheck(io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck value) {
+ if (customHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 13 &&
+ healthChecker_ != io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance()) {
+ healthChecker_ = io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.newBuilder((io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ healthChecker_ = value;
+ }
+ onChanged();
+ } else {
+ if (healthCheckerCase_ == 13) {
+ customHealthCheckBuilder_.mergeFrom(value);
+ }
+ customHealthCheckBuilder_.setMessage(value);
+ }
+ healthCheckerCase_ = 13;
+ return this;
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public Builder clearCustomHealthCheck() {
+ if (customHealthCheckBuilder_ == null) {
+ if (healthCheckerCase_ == 13) {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ onChanged();
+ }
+ } else {
+ if (healthCheckerCase_ == 13) {
+ healthCheckerCase_ = 0;
+ healthChecker_ = null;
+ }
+ customHealthCheckBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.Builder getCustomHealthCheckBuilder() {
+ return getCustomHealthCheckFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheckOrBuilder getCustomHealthCheckOrBuilder() {
+ if ((healthCheckerCase_ == 13) && (customHealthCheckBuilder_ != null)) {
+ return customHealthCheckBuilder_.getMessageOrBuilder();
+ } else {
+ if (healthCheckerCase_ == 13) {
+ return (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_;
+ }
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheckOrBuilder>
+ getCustomHealthCheckFieldBuilder() {
+ if (customHealthCheckBuilder_ == null) {
+ if (!(healthCheckerCase_ == 13)) {
+ healthChecker_ = io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.getDefaultInstance();
+ }
+ customHealthCheckBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck.Builder, io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheckOrBuilder>(
+ (io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck) healthChecker_,
+ getParentForChildren(),
+ isClean());
+ healthChecker_ = null;
+ }
+ healthCheckerCase_ = 13;
+ onChanged();;
+ return customHealthCheckBuilder_;
+ }
+
+ private com.google.protobuf.Duration noTrafficInterval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> noTrafficIntervalBuilder_;
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasNoTrafficInterval() {
+ return noTrafficIntervalBuilder_ != null || noTrafficInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getNoTrafficInterval() {
+ if (noTrafficIntervalBuilder_ == null) {
+ return noTrafficInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : noTrafficInterval_;
+ } else {
+ return noTrafficIntervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setNoTrafficInterval(com.google.protobuf.Duration value) {
+ if (noTrafficIntervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ noTrafficInterval_ = value;
+ onChanged();
+ } else {
+ noTrafficIntervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setNoTrafficInterval(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (noTrafficIntervalBuilder_ == null) {
+ noTrafficInterval_ = builderForValue.build();
+ onChanged();
+ } else {
+ noTrafficIntervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeNoTrafficInterval(com.google.protobuf.Duration value) {
+ if (noTrafficIntervalBuilder_ == null) {
+ if (noTrafficInterval_ != null) {
+ noTrafficInterval_ =
+ com.google.protobuf.Duration.newBuilder(noTrafficInterval_).mergeFrom(value).buildPartial();
+ } else {
+ noTrafficInterval_ = value;
+ }
+ onChanged();
+ } else {
+ noTrafficIntervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearNoTrafficInterval() {
+ if (noTrafficIntervalBuilder_ == null) {
+ noTrafficInterval_ = null;
+ onChanged();
+ } else {
+ noTrafficInterval_ = null;
+ noTrafficIntervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getNoTrafficIntervalBuilder() {
+
+ onChanged();
+ return getNoTrafficIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getNoTrafficIntervalOrBuilder() {
+ if (noTrafficIntervalBuilder_ != null) {
+ return noTrafficIntervalBuilder_.getMessageOrBuilder();
+ } else {
+ return noTrafficInterval_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : noTrafficInterval_;
+ }
+ }
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getNoTrafficIntervalFieldBuilder() {
+ if (noTrafficIntervalBuilder_ == null) {
+ noTrafficIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getNoTrafficInterval(),
+ getParentForChildren(),
+ isClean());
+ noTrafficInterval_ = null;
+ }
+ return noTrafficIntervalBuilder_;
+ }
+
+ private com.google.protobuf.Duration unhealthyInterval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> unhealthyIntervalBuilder_;
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasUnhealthyInterval() {
+ return unhealthyIntervalBuilder_ != null || unhealthyInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getUnhealthyInterval() {
+ if (unhealthyIntervalBuilder_ == null) {
+ return unhealthyInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : unhealthyInterval_;
+ } else {
+ return unhealthyIntervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setUnhealthyInterval(com.google.protobuf.Duration value) {
+ if (unhealthyIntervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ unhealthyInterval_ = value;
+ onChanged();
+ } else {
+ unhealthyIntervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setUnhealthyInterval(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (unhealthyIntervalBuilder_ == null) {
+ unhealthyInterval_ = builderForValue.build();
+ onChanged();
+ } else {
+ unhealthyIntervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeUnhealthyInterval(com.google.protobuf.Duration value) {
+ if (unhealthyIntervalBuilder_ == null) {
+ if (unhealthyInterval_ != null) {
+ unhealthyInterval_ =
+ com.google.protobuf.Duration.newBuilder(unhealthyInterval_).mergeFrom(value).buildPartial();
+ } else {
+ unhealthyInterval_ = value;
+ }
+ onChanged();
+ } else {
+ unhealthyIntervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearUnhealthyInterval() {
+ if (unhealthyIntervalBuilder_ == null) {
+ unhealthyInterval_ = null;
+ onChanged();
+ } else {
+ unhealthyInterval_ = null;
+ unhealthyIntervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getUnhealthyIntervalBuilder() {
+
+ onChanged();
+ return getUnhealthyIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getUnhealthyIntervalOrBuilder() {
+ if (unhealthyIntervalBuilder_ != null) {
+ return unhealthyIntervalBuilder_.getMessageOrBuilder();
+ } else {
+ return unhealthyInterval_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : unhealthyInterval_;
+ }
+ }
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getUnhealthyIntervalFieldBuilder() {
+ if (unhealthyIntervalBuilder_ == null) {
+ unhealthyIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getUnhealthyInterval(),
+ getParentForChildren(),
+ isClean());
+ unhealthyInterval_ = null;
+ }
+ return unhealthyIntervalBuilder_;
+ }
+
+ private com.google.protobuf.Duration unhealthyEdgeInterval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> unhealthyEdgeIntervalBuilder_;
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasUnhealthyEdgeInterval() {
+ return unhealthyEdgeIntervalBuilder_ != null || unhealthyEdgeInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getUnhealthyEdgeInterval() {
+ if (unhealthyEdgeIntervalBuilder_ == null) {
+ return unhealthyEdgeInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : unhealthyEdgeInterval_;
+ } else {
+ return unhealthyEdgeIntervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setUnhealthyEdgeInterval(com.google.protobuf.Duration value) {
+ if (unhealthyEdgeIntervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ unhealthyEdgeInterval_ = value;
+ onChanged();
+ } else {
+ unhealthyEdgeIntervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setUnhealthyEdgeInterval(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (unhealthyEdgeIntervalBuilder_ == null) {
+ unhealthyEdgeInterval_ = builderForValue.build();
+ onChanged();
+ } else {
+ unhealthyEdgeIntervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeUnhealthyEdgeInterval(com.google.protobuf.Duration value) {
+ if (unhealthyEdgeIntervalBuilder_ == null) {
+ if (unhealthyEdgeInterval_ != null) {
+ unhealthyEdgeInterval_ =
+ com.google.protobuf.Duration.newBuilder(unhealthyEdgeInterval_).mergeFrom(value).buildPartial();
+ } else {
+ unhealthyEdgeInterval_ = value;
+ }
+ onChanged();
+ } else {
+ unhealthyEdgeIntervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearUnhealthyEdgeInterval() {
+ if (unhealthyEdgeIntervalBuilder_ == null) {
+ unhealthyEdgeInterval_ = null;
+ onChanged();
+ } else {
+ unhealthyEdgeInterval_ = null;
+ unhealthyEdgeIntervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getUnhealthyEdgeIntervalBuilder() {
+
+ onChanged();
+ return getUnhealthyEdgeIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getUnhealthyEdgeIntervalOrBuilder() {
+ if (unhealthyEdgeIntervalBuilder_ != null) {
+ return unhealthyEdgeIntervalBuilder_.getMessageOrBuilder();
+ } else {
+ return unhealthyEdgeInterval_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : unhealthyEdgeInterval_;
+ }
+ }
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getUnhealthyEdgeIntervalFieldBuilder() {
+ if (unhealthyEdgeIntervalBuilder_ == null) {
+ unhealthyEdgeIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getUnhealthyEdgeInterval(),
+ getParentForChildren(),
+ isClean());
+ unhealthyEdgeInterval_ = null;
+ }
+ return unhealthyEdgeIntervalBuilder_;
+ }
+
+ private com.google.protobuf.Duration healthyEdgeInterval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> healthyEdgeIntervalBuilder_;
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasHealthyEdgeInterval() {
+ return healthyEdgeIntervalBuilder_ != null || healthyEdgeInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration getHealthyEdgeInterval() {
+ if (healthyEdgeIntervalBuilder_ == null) {
+ return healthyEdgeInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : healthyEdgeInterval_;
+ } else {
+ return healthyEdgeIntervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setHealthyEdgeInterval(com.google.protobuf.Duration value) {
+ if (healthyEdgeIntervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ healthyEdgeInterval_ = value;
+ onChanged();
+ } else {
+ healthyEdgeIntervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setHealthyEdgeInterval(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (healthyEdgeIntervalBuilder_ == null) {
+ healthyEdgeInterval_ = builderForValue.build();
+ onChanged();
+ } else {
+ healthyEdgeIntervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeHealthyEdgeInterval(com.google.protobuf.Duration value) {
+ if (healthyEdgeIntervalBuilder_ == null) {
+ if (healthyEdgeInterval_ != null) {
+ healthyEdgeInterval_ =
+ com.google.protobuf.Duration.newBuilder(healthyEdgeInterval_).mergeFrom(value).buildPartial();
+ } else {
+ healthyEdgeInterval_ = value;
+ }
+ onChanged();
+ } else {
+ healthyEdgeIntervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearHealthyEdgeInterval() {
+ if (healthyEdgeIntervalBuilder_ == null) {
+ healthyEdgeInterval_ = null;
+ onChanged();
+ } else {
+ healthyEdgeInterval_ = null;
+ healthyEdgeIntervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.Duration.Builder getHealthyEdgeIntervalBuilder() {
+
+ onChanged();
+ return getHealthyEdgeIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getHealthyEdgeIntervalOrBuilder() {
+ if (healthyEdgeIntervalBuilder_ != null) {
+ return healthyEdgeIntervalBuilder_.getMessageOrBuilder();
+ } else {
+ return healthyEdgeInterval_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : healthyEdgeInterval_;
+ }
+ }
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getHealthyEdgeIntervalFieldBuilder() {
+ if (healthyEdgeIntervalBuilder_ == null) {
+ healthyEdgeIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getHealthyEdgeInterval(),
+ getParentForChildren(),
+ isClean());
+ healthyEdgeInterval_ = null;
+ }
+ return healthyEdgeIntervalBuilder_;
+ }
+
+ private java.lang.Object eventLogPath_ = "";
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ public java.lang.String getEventLogPath() {
+ java.lang.Object ref = eventLogPath_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ eventLogPath_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ public com.google.protobuf.ByteString
+ getEventLogPathBytes() {
+ java.lang.Object ref = eventLogPath_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ eventLogPath_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ public Builder setEventLogPath(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ eventLogPath_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ public Builder clearEventLogPath() {
+
+ eventLogPath_ = getDefaultInstance().getEventLogPath();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ public Builder setEventLogPathBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ eventLogPath_ = value;
+ onChanged();
+ return this;
+ }
+
+ private boolean alwaysLogHealthCheckFailures_ ;
+ /**
+ * <pre>
+ * If set to true, health check failure events will always be logged. If set to false, only the
+ * initial health check failure event will be logged.
+ * The default value is false.
+ * </pre>
+ *
+ * <code>bool always_log_health_check_failures = 19;</code>
+ */
+ public boolean getAlwaysLogHealthCheckFailures() {
+ return alwaysLogHealthCheckFailures_;
+ }
+ /**
+ * <pre>
+ * If set to true, health check failure events will always be logged. If set to false, only the
+ * initial health check failure event will be logged.
+ * The default value is false.
+ * </pre>
+ *
+ * <code>bool always_log_health_check_failures = 19;</code>
+ */
+ public Builder setAlwaysLogHealthCheckFailures(boolean value) {
+
+ alwaysLogHealthCheckFailures_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * If set to true, health check failure events will always be logged. If set to false, only the
+ * initial health check failure event will be logged.
+ * The default value is false.
+ * </pre>
+ *
+ * <code>bool always_log_health_check_failures = 19;</code>
+ */
+ public Builder clearAlwaysLogHealthCheckFailures() {
+
+ alwaysLogHealthCheckFailures_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HealthCheck)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HealthCheck)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<HealthCheck>
+ PARSER = new com.google.protobuf.AbstractParser<HealthCheck>() {
+ public HealthCheck parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new HealthCheck(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<HealthCheck> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<HealthCheck> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheckOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheckOrBuilder.java
new file mode 100644
index 000000000..163361158
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheckOrBuilder.java
@@ -0,0 +1,496 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/health_check.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface HealthCheckOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HealthCheck)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasTimeout();
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getTimeout();
+ /**
+ * <pre>
+ * The time to wait for a health check response. If the timeout is reached the
+ * health check attempt will be considered a failure.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration timeout = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder();
+
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasInterval();
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getInterval();
+ /**
+ * <pre>
+ * The interval between health checks.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getIntervalOrBuilder();
+
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ boolean hasIntervalJitter();
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ com.google.protobuf.Duration getIntervalJitter();
+ /**
+ * <pre>
+ * An optional jitter amount in millseconds. If specified, during every
+ * interval Envoy will add interval_jitter to the wait time.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration interval_jitter = 3;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getIntervalJitterOrBuilder();
+
+ /**
+ * <pre>
+ * An optional jitter amount as a percentage of interval_ms. If specified,
+ * during every interval Envoy will add interval_ms *
+ * interval_jitter_percent / 100 to the wait time.
+ * If interval_jitter_ms and interval_jitter_percent are both set, both of
+ * them will be used to increase the wait time.
+ * </pre>
+ *
+ * <code>uint32 interval_jitter_percent = 18;</code>
+ */
+ int getIntervalJitterPercent();
+
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ boolean hasUnhealthyThreshold();
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ com.google.protobuf.UInt32Value getUnhealthyThreshold();
+ /**
+ * <pre>
+ * The number of unhealthy health checks required before a host is marked
+ * unhealthy. Note that for *http* health checking if a host responds with 503
+ * this threshold is ignored and the host is considered unhealthy immediately.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value unhealthy_threshold = 4;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getUnhealthyThresholdOrBuilder();
+
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ boolean hasHealthyThreshold();
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ com.google.protobuf.UInt32Value getHealthyThreshold();
+ /**
+ * <pre>
+ * The number of healthy health checks required before a host is marked
+ * healthy. Note that during startup, only a single successful health check is
+ * required to mark a host healthy.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value healthy_threshold = 5;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getHealthyThresholdOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ boolean hasAltPort();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ com.google.protobuf.UInt32Value getAltPort();
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Non-serving port for health checking.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value alt_port = 6;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getAltPortOrBuilder();
+
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ boolean hasReuseConnection();
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ com.google.protobuf.BoolValue getReuseConnection();
+ /**
+ * <pre>
+ * Reuse health check connection between health checks. Default is true.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue reuse_connection = 7;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getReuseConnectionOrBuilder();
+
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ boolean hasHttpHealthCheck();
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheck getHttpHealthCheck();
+ /**
+ * <pre>
+ * HTTP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.HttpHealthCheck http_health_check = 8;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HttpHealthCheckOrBuilder getHttpHealthCheckOrBuilder();
+
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ boolean hasTcpHealthCheck();
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheck getTcpHealthCheck();
+ /**
+ * <pre>
+ * TCP health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.TcpHealthCheck tcp_health_check = 9;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.TcpHealthCheckOrBuilder getTcpHealthCheckOrBuilder();
+
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ boolean hasGrpcHealthCheck();
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheck getGrpcHealthCheck();
+ /**
+ * <pre>
+ * gRPC health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.GrpcHealthCheck grpc_health_check = 11;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.GrpcHealthCheckOrBuilder getGrpcHealthCheckOrBuilder();
+
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ boolean hasCustomHealthCheck();
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheck getCustomHealthCheck();
+ /**
+ * <pre>
+ * Custom health check.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthCheck.CustomHealthCheck custom_health_check = 13;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.CustomHealthCheckOrBuilder getCustomHealthCheckOrBuilder();
+
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasNoTrafficInterval();
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getNoTrafficInterval();
+ /**
+ * <pre>
+ * The "no traffic interval" is a special health check interval that is used when a cluster has
+ * never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ * date, without sending a potentially large amount of active health checking traffic for no
+ * reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ * standard health check interval that is defined. Note that this interval takes precedence over
+ * any other.
+ * The default value for "no traffic interval" is 60 seconds.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration no_traffic_interval = 12 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getNoTrafficIntervalOrBuilder();
+
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasUnhealthyInterval();
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getUnhealthyInterval();
+ /**
+ * <pre>
+ * The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ * unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ * standard health check interval that is defined.
+ * The default value for "unhealthy interval" is the same as "interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_interval = 14 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getUnhealthyIntervalOrBuilder();
+
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasUnhealthyEdgeInterval();
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getUnhealthyEdgeInterval();
+ /**
+ * <pre>
+ * The "unhealthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as unhealthy. For subsequent health checks
+ * Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ * check interval that is defined.
+ * The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration unhealthy_edge_interval = 15 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getUnhealthyEdgeIntervalOrBuilder();
+
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasHealthyEdgeInterval();
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.Duration getHealthyEdgeInterval();
+ /**
+ * <pre>
+ * The "healthy edge interval" is a special health check interval that is used for the first
+ * health check right after a host is marked as healthy. For subsequent health checks
+ * Envoy will shift back to using the standard health check interval that is defined.
+ * The default value for "healthy edge interval" is the same as the default interval.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration healthy_edge_interval = 16 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DurationOrBuilder getHealthyEdgeIntervalOrBuilder();
+
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ java.lang.String getEventLogPath();
+ /**
+ * <pre>
+ * Specifies the path to the :ref:`health check event log &lt;arch_overview_health_check_logging&gt;`.
+ * If empty, no event log will be written.
+ * </pre>
+ *
+ * <code>string event_log_path = 17;</code>
+ */
+ com.google.protobuf.ByteString
+ getEventLogPathBytes();
+
+ /**
+ * <pre>
+ * If set to true, health check failure events will always be logged. If set to false, only the
+ * initial health check failure event will be logged.
+ * The default value is false.
+ * </pre>
+ *
+ * <code>bool always_log_health_check_failures = 19;</code>
+ */
+ boolean getAlwaysLogHealthCheckFailures();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthCheck.HealthCheckerCase getHealthCheckerCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheckOuterClass.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheckOuterClass.java
new file mode 100644
index 000000000..c71824623
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthCheckOuterClass.java
@@ -0,0 +1,194 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/health_check.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public final class HealthCheckOuterClass {
+ private HealthCheckOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HealthCheck_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HealthCheck_Payload_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HealthCheck_Payload_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n$envoy/api/v2/core/health_check.proto\022\021" +
+ "envoy.api.v2.core\032\034envoy/api/v2/core/bas" +
+ "e.proto\032\031google/protobuf/any.proto\032\036goog" +
+ "le/protobuf/duration.proto\032\034google/proto" +
+ "buf/struct.proto\032\036google/protobuf/wrappe" +
+ "rs.proto\032\027validate/validate.proto\"\346\016\n\013He" +
+ "althCheck\0228\n\007timeout\030\001 \001(\0132\031.google.prot" +
+ "obuf.DurationB\014\272\351\300\003\007\252\001\004\010\001*\000\0229\n\010interval\030" +
+ "\002 \001(\0132\031.google.protobuf.DurationB\014\272\351\300\003\007\252" +
+ "\001\004\010\001*\000\0222\n\017interval_jitter\030\003 \001(\0132\031.google" +
+ ".protobuf.Duration\022\037\n\027interval_jitter_pe" +
+ "rcent\030\022 \001(\r\0229\n\023unhealthy_threshold\030\004 \001(\013" +
+ "2\034.google.protobuf.UInt32Value\0227\n\021health" +
+ "y_threshold\030\005 \001(\0132\034.google.protobuf.UInt" +
+ "32Value\022.\n\010alt_port\030\006 \001(\0132\034.google.proto" +
+ "buf.UInt32Value\0224\n\020reuse_connection\030\007 \001(" +
+ "\0132\032.google.protobuf.BoolValue\022K\n\021http_he" +
+ "alth_check\030\010 \001(\0132..envoy.api.v2.core.Hea" +
+ "lthCheck.HttpHealthCheckH\000\022I\n\020tcp_health" +
+ "_check\030\t \001(\0132-.envoy.api.v2.core.HealthC" +
+ "heck.TcpHealthCheckH\000\022K\n\021grpc_health_che" +
+ "ck\030\013 \001(\0132..envoy.api.v2.core.HealthCheck" +
+ ".GrpcHealthCheckH\000\022O\n\023custom_health_chec" +
+ "k\030\r \001(\01320.envoy.api.v2.core.HealthCheck." +
+ "CustomHealthCheckH\000\022B\n\023no_traffic_interv" +
+ "al\030\014 \001(\0132\031.google.protobuf.DurationB\n\272\351\300" +
+ "\003\005\252\001\002*\000\022A\n\022unhealthy_interval\030\016 \001(\0132\031.go" +
+ "ogle.protobuf.DurationB\n\272\351\300\003\005\252\001\002*\000\022F\n\027un" +
+ "healthy_edge_interval\030\017 \001(\0132\031.google.pro" +
+ "tobuf.DurationB\n\272\351\300\003\005\252\001\002*\000\022D\n\025healthy_ed" +
+ "ge_interval\030\020 \001(\0132\031.google.protobuf.Dura" +
+ "tionB\n\272\351\300\003\005\252\001\002*\000\022\026\n\016event_log_path\030\021 \001(\t" +
+ "\022(\n always_log_health_check_failures\030\023 \001" +
+ "(\010\032H\n\007Payload\022\031\n\004text\030\001 \001(\tB\t\272\351\300\003\004r\002 \001H\000" +
+ "\022\020\n\006binary\030\002 \001(\014H\000B\020\n\007payload\022\005\270\351\300\003\001\032\306\002\n" +
+ "\017HttpHealthCheck\022\014\n\004host\030\001 \001(\t\022\027\n\004path\030\002" +
+ " \001(\tB\t\272\351\300\003\004r\002 \001\0224\n\004send\030\003 \001(\0132&.envoy.ap" +
+ "i.v2.core.HealthCheck.Payload\0227\n\007receive" +
+ "\030\004 \001(\0132&.envoy.api.v2.core.HealthCheck.P" +
+ "ayload\022\024\n\014service_name\030\005 \001(\t\022Q\n\026request_" +
+ "headers_to_add\030\006 \003(\0132$.envoy.api.v2.core" +
+ ".HeaderValueOptionB\013\272\351\300\003\006\222\001\003\020\350\007\022!\n\031reque" +
+ "st_headers_to_remove\030\010 \003(\t\022\021\n\tuse_http2\030" +
+ "\007 \001(\010\032\177\n\016TcpHealthCheck\0224\n\004send\030\001 \001(\0132&." +
+ "envoy.api.v2.core.HealthCheck.Payload\0227\n" +
+ "\007receive\030\002 \003(\0132&.envoy.api.v2.core.Healt" +
+ "hCheck.Payload\032\037\n\020RedisHealthCheck\022\013\n\003ke" +
+ "y\030\001 \001(\t\032\'\n\017GrpcHealthCheck\022\024\n\014service_na" +
+ "me\030\001 \001(\t\032\224\001\n\021CustomHealthCheck\022\027\n\004name\030\001" +
+ " \001(\tB\t\272\351\300\003\004r\002 \001\022)\n\006config\030\002 \001(\0132\027.google" +
+ ".protobuf.StructH\000\022,\n\014typed_config\030\003 \001(\013" +
+ "2\024.google.protobuf.AnyH\000B\r\n\013config_typeB" +
+ "\027\n\016health_checker\022\005\270\351\300\003\001J\004\010\n\020\013R\022redis_he" +
+ "alth_check*R\n\014HealthStatus\022\013\n\007UNKNOWN\020\000\022" +
+ "\013\n\007HEALTHY\020\001\022\r\n\tUNHEALTHY\020\002\022\014\n\010DRAINING\020" +
+ "\003\022\013\n\007TIMEOUT\020\004B(\n$io.grpc.xds.shaded.env" +
+ "oy.api.v2.coreP\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ com.google.protobuf.AnyProto.getDescriptor(),
+ com.google.protobuf.DurationProto.getDescriptor(),
+ com.google.protobuf.StructProto.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_core_HealthCheck_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor,
+ new java.lang.String[] { "Timeout", "Interval", "IntervalJitter", "IntervalJitterPercent", "UnhealthyThreshold", "HealthyThreshold", "AltPort", "ReuseConnection", "HttpHealthCheck", "TcpHealthCheck", "GrpcHealthCheck", "CustomHealthCheck", "NoTrafficInterval", "UnhealthyInterval", "UnhealthyEdgeInterval", "HealthyEdgeInterval", "EventLogPath", "AlwaysLogHealthCheckFailures", "HealthChecker", });
+ internal_static_envoy_api_v2_core_HealthCheck_Payload_descriptor =
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_core_HealthCheck_Payload_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HealthCheck_Payload_descriptor,
+ new java.lang.String[] { "Text", "Binary", "Payload", });
+ internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_descriptor =
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor.getNestedTypes().get(1);
+ internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HealthCheck_HttpHealthCheck_descriptor,
+ new java.lang.String[] { "Host", "Path", "Send", "Receive", "ServiceName", "RequestHeadersToAdd", "RequestHeadersToRemove", "UseHttp2", });
+ internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_descriptor =
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor.getNestedTypes().get(2);
+ internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HealthCheck_TcpHealthCheck_descriptor,
+ new java.lang.String[] { "Send", "Receive", });
+ internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_descriptor =
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor.getNestedTypes().get(3);
+ internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HealthCheck_RedisHealthCheck_descriptor,
+ new java.lang.String[] { "Key", });
+ internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_descriptor =
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor.getNestedTypes().get(4);
+ internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HealthCheck_GrpcHealthCheck_descriptor,
+ new java.lang.String[] { "ServiceName", });
+ internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_descriptor =
+ internal_static_envoy_api_v2_core_HealthCheck_descriptor.getNestedTypes().get(5);
+ internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HealthCheck_CustomHealthCheck_descriptor,
+ new java.lang.String[] { "Name", "Config", "TypedConfig", "ConfigType", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.required);
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ com.google.protobuf.AnyProto.getDescriptor();
+ com.google.protobuf.DurationProto.getDescriptor();
+ com.google.protobuf.StructProto.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthStatus.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthStatus.java
new file mode 100644
index 000000000..165e517a5
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HealthStatus.java
@@ -0,0 +1,184 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/health_check.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Endpoint health status.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.api.v2.core.HealthStatus}
+ */
+public enum HealthStatus
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <pre>
+ * The health status is not known. This is interpreted by Envoy as *HEALTHY*.
+ * </pre>
+ *
+ * <code>UNKNOWN = 0;</code>
+ */
+ UNKNOWN(0),
+ /**
+ * <pre>
+ * Healthy.
+ * </pre>
+ *
+ * <code>HEALTHY = 1;</code>
+ */
+ HEALTHY(1),
+ /**
+ * <pre>
+ * Unhealthy.
+ * </pre>
+ *
+ * <code>UNHEALTHY = 2;</code>
+ */
+ UNHEALTHY(2),
+ /**
+ * <pre>
+ * Connection draining in progress. E.g.,
+ * `&lt;https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/&gt;`_
+ * or
+ * `&lt;https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining&gt;`_.
+ * This is interpreted by Envoy as *UNHEALTHY*.
+ * </pre>
+ *
+ * <code>DRAINING = 3;</code>
+ */
+ DRAINING(3),
+ /**
+ * <pre>
+ * Health check timed out. This is part of HDS and is interpreted by Envoy as
+ * *UNHEALTHY*.
+ * </pre>
+ *
+ * <code>TIMEOUT = 4;</code>
+ */
+ TIMEOUT(4),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <pre>
+ * The health status is not known. This is interpreted by Envoy as *HEALTHY*.
+ * </pre>
+ *
+ * <code>UNKNOWN = 0;</code>
+ */
+ public static final int UNKNOWN_VALUE = 0;
+ /**
+ * <pre>
+ * Healthy.
+ * </pre>
+ *
+ * <code>HEALTHY = 1;</code>
+ */
+ public static final int HEALTHY_VALUE = 1;
+ /**
+ * <pre>
+ * Unhealthy.
+ * </pre>
+ *
+ * <code>UNHEALTHY = 2;</code>
+ */
+ public static final int UNHEALTHY_VALUE = 2;
+ /**
+ * <pre>
+ * Connection draining in progress. E.g.,
+ * `&lt;https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/&gt;`_
+ * or
+ * `&lt;https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining&gt;`_.
+ * This is interpreted by Envoy as *UNHEALTHY*.
+ * </pre>
+ *
+ * <code>DRAINING = 3;</code>
+ */
+ public static final int DRAINING_VALUE = 3;
+ /**
+ * <pre>
+ * Health check timed out. This is part of HDS and is interpreted by Envoy as
+ * *UNHEALTHY*.
+ * </pre>
+ *
+ * <code>TIMEOUT = 4;</code>
+ */
+ public static final int TIMEOUT_VALUE = 4;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static HealthStatus valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static HealthStatus forNumber(int value) {
+ switch (value) {
+ case 0: return UNKNOWN;
+ case 1: return HEALTHY;
+ case 2: return UNHEALTHY;
+ case 3: return DRAINING;
+ case 4: return TIMEOUT;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<HealthStatus>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ HealthStatus> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<HealthStatus>() {
+ public HealthStatus findValueByNumber(int number) {
+ return HealthStatus.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final HealthStatus[] VALUES = values();
+
+ public static HealthStatus valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private HealthStatus(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.core.HealthStatus)
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http1ProtocolOptions.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http1ProtocolOptions.java
new file mode 100644
index 000000000..290bf4ecb
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http1ProtocolOptions.java
@@ -0,0 +1,910 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * Protobuf type {@code envoy.api.v2.core.Http1ProtocolOptions}
+ */
+public final class Http1ProtocolOptions extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.Http1ProtocolOptions)
+ Http1ProtocolOptionsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Http1ProtocolOptions.newBuilder() to construct.
+ private Http1ProtocolOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Http1ProtocolOptions() {
+ acceptHttp10_ = false;
+ defaultHostForHttp10_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Http1ProtocolOptions(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.BoolValue.Builder subBuilder = null;
+ if (allowAbsoluteUrl_ != null) {
+ subBuilder = allowAbsoluteUrl_.toBuilder();
+ }
+ allowAbsoluteUrl_ = input.readMessage(com.google.protobuf.BoolValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(allowAbsoluteUrl_);
+ allowAbsoluteUrl_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 16: {
+
+ acceptHttp10_ = input.readBool();
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ defaultHostForHttp10_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http1ProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http1ProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.Builder.class);
+ }
+
+ public static final int ALLOW_ABSOLUTE_URL_FIELD_NUMBER = 1;
+ private com.google.protobuf.BoolValue allowAbsoluteUrl_;
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public boolean hasAllowAbsoluteUrl() {
+ return allowAbsoluteUrl_ != null;
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public com.google.protobuf.BoolValue getAllowAbsoluteUrl() {
+ return allowAbsoluteUrl_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : allowAbsoluteUrl_;
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getAllowAbsoluteUrlOrBuilder() {
+ return getAllowAbsoluteUrl();
+ }
+
+ public static final int ACCEPT_HTTP_10_FIELD_NUMBER = 2;
+ private boolean acceptHttp10_;
+ /**
+ * <pre>
+ * Handle incoming HTTP/1.0 and HTTP 0.9 requests.
+ * This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
+ * style connect logic, dechunking, and handling lack of client host iff
+ * *default_host_for_http_10* is configured.
+ * </pre>
+ *
+ * <code>bool accept_http_10 = 2;</code>
+ */
+ public boolean getAcceptHttp10() {
+ return acceptHttp10_;
+ }
+
+ public static final int DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER = 3;
+ private volatile java.lang.Object defaultHostForHttp10_;
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ public java.lang.String getDefaultHostForHttp10() {
+ java.lang.Object ref = defaultHostForHttp10_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ defaultHostForHttp10_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getDefaultHostForHttp10Bytes() {
+ java.lang.Object ref = defaultHostForHttp10_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ defaultHostForHttp10_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (allowAbsoluteUrl_ != null) {
+ output.writeMessage(1, getAllowAbsoluteUrl());
+ }
+ if (acceptHttp10_ != false) {
+ output.writeBool(2, acceptHttp10_);
+ }
+ if (!getDefaultHostForHttp10Bytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, defaultHostForHttp10_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (allowAbsoluteUrl_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getAllowAbsoluteUrl());
+ }
+ if (acceptHttp10_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(2, acceptHttp10_);
+ }
+ if (!getDefaultHostForHttp10Bytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, defaultHostForHttp10_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions other = (io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions) obj;
+
+ boolean result = true;
+ result = result && (hasAllowAbsoluteUrl() == other.hasAllowAbsoluteUrl());
+ if (hasAllowAbsoluteUrl()) {
+ result = result && getAllowAbsoluteUrl()
+ .equals(other.getAllowAbsoluteUrl());
+ }
+ result = result && (getAcceptHttp10()
+ == other.getAcceptHttp10());
+ result = result && getDefaultHostForHttp10()
+ .equals(other.getDefaultHostForHttp10());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasAllowAbsoluteUrl()) {
+ hash = (37 * hash) + ALLOW_ABSOLUTE_URL_FIELD_NUMBER;
+ hash = (53 * hash) + getAllowAbsoluteUrl().hashCode();
+ }
+ hash = (37 * hash) + ACCEPT_HTTP_10_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getAcceptHttp10());
+ hash = (37 * hash) + DEFAULT_HOST_FOR_HTTP_10_FIELD_NUMBER;
+ hash = (53 * hash) + getDefaultHostForHttp10().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.Http1ProtocolOptions}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.Http1ProtocolOptions)
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptionsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http1ProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http1ProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (allowAbsoluteUrlBuilder_ == null) {
+ allowAbsoluteUrl_ = null;
+ } else {
+ allowAbsoluteUrl_ = null;
+ allowAbsoluteUrlBuilder_ = null;
+ }
+ acceptHttp10_ = false;
+
+ defaultHostForHttp10_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http1ProtocolOptions_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions result = new io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions(this);
+ if (allowAbsoluteUrlBuilder_ == null) {
+ result.allowAbsoluteUrl_ = allowAbsoluteUrl_;
+ } else {
+ result.allowAbsoluteUrl_ = allowAbsoluteUrlBuilder_.build();
+ }
+ result.acceptHttp10_ = acceptHttp10_;
+ result.defaultHostForHttp10_ = defaultHostForHttp10_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions.getDefaultInstance()) return this;
+ if (other.hasAllowAbsoluteUrl()) {
+ mergeAllowAbsoluteUrl(other.getAllowAbsoluteUrl());
+ }
+ if (other.getAcceptHttp10() != false) {
+ setAcceptHttp10(other.getAcceptHttp10());
+ }
+ if (!other.getDefaultHostForHttp10().isEmpty()) {
+ defaultHostForHttp10_ = other.defaultHostForHttp10_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.BoolValue allowAbsoluteUrl_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder> allowAbsoluteUrlBuilder_;
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public boolean hasAllowAbsoluteUrl() {
+ return allowAbsoluteUrlBuilder_ != null || allowAbsoluteUrl_ != null;
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public com.google.protobuf.BoolValue getAllowAbsoluteUrl() {
+ if (allowAbsoluteUrlBuilder_ == null) {
+ return allowAbsoluteUrl_ == null ? com.google.protobuf.BoolValue.getDefaultInstance() : allowAbsoluteUrl_;
+ } else {
+ return allowAbsoluteUrlBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public Builder setAllowAbsoluteUrl(com.google.protobuf.BoolValue value) {
+ if (allowAbsoluteUrlBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ allowAbsoluteUrl_ = value;
+ onChanged();
+ } else {
+ allowAbsoluteUrlBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public Builder setAllowAbsoluteUrl(
+ com.google.protobuf.BoolValue.Builder builderForValue) {
+ if (allowAbsoluteUrlBuilder_ == null) {
+ allowAbsoluteUrl_ = builderForValue.build();
+ onChanged();
+ } else {
+ allowAbsoluteUrlBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public Builder mergeAllowAbsoluteUrl(com.google.protobuf.BoolValue value) {
+ if (allowAbsoluteUrlBuilder_ == null) {
+ if (allowAbsoluteUrl_ != null) {
+ allowAbsoluteUrl_ =
+ com.google.protobuf.BoolValue.newBuilder(allowAbsoluteUrl_).mergeFrom(value).buildPartial();
+ } else {
+ allowAbsoluteUrl_ = value;
+ }
+ onChanged();
+ } else {
+ allowAbsoluteUrlBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public Builder clearAllowAbsoluteUrl() {
+ if (allowAbsoluteUrlBuilder_ == null) {
+ allowAbsoluteUrl_ = null;
+ onChanged();
+ } else {
+ allowAbsoluteUrl_ = null;
+ allowAbsoluteUrlBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public com.google.protobuf.BoolValue.Builder getAllowAbsoluteUrlBuilder() {
+
+ onChanged();
+ return getAllowAbsoluteUrlFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ public com.google.protobuf.BoolValueOrBuilder getAllowAbsoluteUrlOrBuilder() {
+ if (allowAbsoluteUrlBuilder_ != null) {
+ return allowAbsoluteUrlBuilder_.getMessageOrBuilder();
+ } else {
+ return allowAbsoluteUrl_ == null ?
+ com.google.protobuf.BoolValue.getDefaultInstance() : allowAbsoluteUrl_;
+ }
+ }
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>
+ getAllowAbsoluteUrlFieldBuilder() {
+ if (allowAbsoluteUrlBuilder_ == null) {
+ allowAbsoluteUrlBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.BoolValue, com.google.protobuf.BoolValue.Builder, com.google.protobuf.BoolValueOrBuilder>(
+ getAllowAbsoluteUrl(),
+ getParentForChildren(),
+ isClean());
+ allowAbsoluteUrl_ = null;
+ }
+ return allowAbsoluteUrlBuilder_;
+ }
+
+ private boolean acceptHttp10_ ;
+ /**
+ * <pre>
+ * Handle incoming HTTP/1.0 and HTTP 0.9 requests.
+ * This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
+ * style connect logic, dechunking, and handling lack of client host iff
+ * *default_host_for_http_10* is configured.
+ * </pre>
+ *
+ * <code>bool accept_http_10 = 2;</code>
+ */
+ public boolean getAcceptHttp10() {
+ return acceptHttp10_;
+ }
+ /**
+ * <pre>
+ * Handle incoming HTTP/1.0 and HTTP 0.9 requests.
+ * This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
+ * style connect logic, dechunking, and handling lack of client host iff
+ * *default_host_for_http_10* is configured.
+ * </pre>
+ *
+ * <code>bool accept_http_10 = 2;</code>
+ */
+ public Builder setAcceptHttp10(boolean value) {
+
+ acceptHttp10_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Handle incoming HTTP/1.0 and HTTP 0.9 requests.
+ * This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
+ * style connect logic, dechunking, and handling lack of client host iff
+ * *default_host_for_http_10* is configured.
+ * </pre>
+ *
+ * <code>bool accept_http_10 = 2;</code>
+ */
+ public Builder clearAcceptHttp10() {
+
+ acceptHttp10_ = false;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object defaultHostForHttp10_ = "";
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ public java.lang.String getDefaultHostForHttp10() {
+ java.lang.Object ref = defaultHostForHttp10_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ defaultHostForHttp10_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getDefaultHostForHttp10Bytes() {
+ java.lang.Object ref = defaultHostForHttp10_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ defaultHostForHttp10_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ public Builder setDefaultHostForHttp10(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ defaultHostForHttp10_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ public Builder clearDefaultHostForHttp10() {
+
+ defaultHostForHttp10_ = getDefaultInstance().getDefaultHostForHttp10();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ public Builder setDefaultHostForHttp10Bytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ defaultHostForHttp10_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.Http1ProtocolOptions)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.Http1ProtocolOptions)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Http1ProtocolOptions>
+ PARSER = new com.google.protobuf.AbstractParser<Http1ProtocolOptions>() {
+ public Http1ProtocolOptions parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Http1ProtocolOptions(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Http1ProtocolOptions> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Http1ProtocolOptions> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http1ProtocolOptions getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http1ProtocolOptionsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http1ProtocolOptionsOrBuilder.java
new file mode 100644
index 000000000..48f0c367f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http1ProtocolOptionsOrBuilder.java
@@ -0,0 +1,77 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface Http1ProtocolOptionsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.Http1ProtocolOptions)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ boolean hasAllowAbsoluteUrl();
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ com.google.protobuf.BoolValue getAllowAbsoluteUrl();
+ /**
+ * <pre>
+ * Handle HTTP requests with absolute URLs in the requests. These requests
+ * are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ * envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ * *http_proxy* environment variable.
+ * </pre>
+ *
+ * <code>.google.protobuf.BoolValue allow_absolute_url = 1;</code>
+ */
+ com.google.protobuf.BoolValueOrBuilder getAllowAbsoluteUrlOrBuilder();
+
+ /**
+ * <pre>
+ * Handle incoming HTTP/1.0 and HTTP 0.9 requests.
+ * This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
+ * style connect logic, dechunking, and handling lack of client host iff
+ * *default_host_for_http_10* is configured.
+ * </pre>
+ *
+ * <code>bool accept_http_10 = 2;</code>
+ */
+ boolean getAcceptHttp10();
+
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ java.lang.String getDefaultHostForHttp10();
+ /**
+ * <pre>
+ * A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ * Envoy does not otherwise support HTTP/1.0 without a Host header.
+ * This is a no-op if *accept_http_10* is not true.
+ * </pre>
+ *
+ * <code>string default_host_for_http_10 = 3;</code>
+ */
+ com.google.protobuf.ByteString
+ getDefaultHostForHttp10Bytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http2ProtocolOptions.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http2ProtocolOptions.java
new file mode 100644
index 000000000..9c6854de5
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http2ProtocolOptions.java
@@ -0,0 +1,1567 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * Protobuf type {@code envoy.api.v2.core.Http2ProtocolOptions}
+ */
+public final class Http2ProtocolOptions extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.Http2ProtocolOptions)
+ Http2ProtocolOptionsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Http2ProtocolOptions.newBuilder() to construct.
+ private Http2ProtocolOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Http2ProtocolOptions() {
+ allowConnect_ = false;
+ allowMetadata_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Http2ProtocolOptions(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (hpackTableSize_ != null) {
+ subBuilder = hpackTableSize_.toBuilder();
+ }
+ hpackTableSize_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(hpackTableSize_);
+ hpackTableSize_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxConcurrentStreams_ != null) {
+ subBuilder = maxConcurrentStreams_.toBuilder();
+ }
+ maxConcurrentStreams_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxConcurrentStreams_);
+ maxConcurrentStreams_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (initialStreamWindowSize_ != null) {
+ subBuilder = initialStreamWindowSize_.toBuilder();
+ }
+ initialStreamWindowSize_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(initialStreamWindowSize_);
+ initialStreamWindowSize_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (initialConnectionWindowSize_ != null) {
+ subBuilder = initialConnectionWindowSize_.toBuilder();
+ }
+ initialConnectionWindowSize_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(initialConnectionWindowSize_);
+ initialConnectionWindowSize_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 40: {
+
+ allowConnect_ = input.readBool();
+ break;
+ }
+ case 48: {
+
+ allowMetadata_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http2ProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http2ProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder.class);
+ }
+
+ public static final int HPACK_TABLE_SIZE_FIELD_NUMBER = 1;
+ private com.google.protobuf.UInt32Value hpackTableSize_;
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public boolean hasHpackTableSize() {
+ return hpackTableSize_ != null;
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value getHpackTableSize() {
+ return hpackTableSize_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : hpackTableSize_;
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getHpackTableSizeOrBuilder() {
+ return getHpackTableSize();
+ }
+
+ public static final int MAX_CONCURRENT_STREAMS_FIELD_NUMBER = 2;
+ private com.google.protobuf.UInt32Value maxConcurrentStreams_;
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasMaxConcurrentStreams() {
+ return maxConcurrentStreams_ != null;
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxConcurrentStreams() {
+ return maxConcurrentStreams_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxConcurrentStreams_;
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxConcurrentStreamsOrBuilder() {
+ return getMaxConcurrentStreams();
+ }
+
+ public static final int INITIAL_STREAM_WINDOW_SIZE_FIELD_NUMBER = 3;
+ private com.google.protobuf.UInt32Value initialStreamWindowSize_;
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasInitialStreamWindowSize() {
+ return initialStreamWindowSize_ != null;
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getInitialStreamWindowSize() {
+ return initialStreamWindowSize_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : initialStreamWindowSize_;
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getInitialStreamWindowSizeOrBuilder() {
+ return getInitialStreamWindowSize();
+ }
+
+ public static final int INITIAL_CONNECTION_WINDOW_SIZE_FIELD_NUMBER = 4;
+ private com.google.protobuf.UInt32Value initialConnectionWindowSize_;
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasInitialConnectionWindowSize() {
+ return initialConnectionWindowSize_ != null;
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getInitialConnectionWindowSize() {
+ return initialConnectionWindowSize_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : initialConnectionWindowSize_;
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getInitialConnectionWindowSizeOrBuilder() {
+ return getInitialConnectionWindowSize();
+ }
+
+ public static final int ALLOW_CONNECT_FIELD_NUMBER = 5;
+ private boolean allowConnect_;
+ /**
+ * <pre>
+ * Allows proxying Websocket and other upgrades over H2 connect.
+ * </pre>
+ *
+ * <code>bool allow_connect = 5;</code>
+ */
+ public boolean getAllowConnect() {
+ return allowConnect_;
+ }
+
+ public static final int ALLOW_METADATA_FIELD_NUMBER = 6;
+ private boolean allowMetadata_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Hiding until envoy has full metadata support.
+ * Still under implementation. DO NOT USE.
+ * Allows metadata. See [metadata
+ * docs](https://github.com/envoyproxy/envoy/blob/master/source/docs/h2_metadata.md) for more
+ * information.
+ * </pre>
+ *
+ * <code>bool allow_metadata = 6;</code>
+ */
+ public boolean getAllowMetadata() {
+ return allowMetadata_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (hpackTableSize_ != null) {
+ output.writeMessage(1, getHpackTableSize());
+ }
+ if (maxConcurrentStreams_ != null) {
+ output.writeMessage(2, getMaxConcurrentStreams());
+ }
+ if (initialStreamWindowSize_ != null) {
+ output.writeMessage(3, getInitialStreamWindowSize());
+ }
+ if (initialConnectionWindowSize_ != null) {
+ output.writeMessage(4, getInitialConnectionWindowSize());
+ }
+ if (allowConnect_ != false) {
+ output.writeBool(5, allowConnect_);
+ }
+ if (allowMetadata_ != false) {
+ output.writeBool(6, allowMetadata_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (hpackTableSize_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getHpackTableSize());
+ }
+ if (maxConcurrentStreams_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getMaxConcurrentStreams());
+ }
+ if (initialStreamWindowSize_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getInitialStreamWindowSize());
+ }
+ if (initialConnectionWindowSize_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getInitialConnectionWindowSize());
+ }
+ if (allowConnect_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(5, allowConnect_);
+ }
+ if (allowMetadata_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(6, allowMetadata_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions other = (io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions) obj;
+
+ boolean result = true;
+ result = result && (hasHpackTableSize() == other.hasHpackTableSize());
+ if (hasHpackTableSize()) {
+ result = result && getHpackTableSize()
+ .equals(other.getHpackTableSize());
+ }
+ result = result && (hasMaxConcurrentStreams() == other.hasMaxConcurrentStreams());
+ if (hasMaxConcurrentStreams()) {
+ result = result && getMaxConcurrentStreams()
+ .equals(other.getMaxConcurrentStreams());
+ }
+ result = result && (hasInitialStreamWindowSize() == other.hasInitialStreamWindowSize());
+ if (hasInitialStreamWindowSize()) {
+ result = result && getInitialStreamWindowSize()
+ .equals(other.getInitialStreamWindowSize());
+ }
+ result = result && (hasInitialConnectionWindowSize() == other.hasInitialConnectionWindowSize());
+ if (hasInitialConnectionWindowSize()) {
+ result = result && getInitialConnectionWindowSize()
+ .equals(other.getInitialConnectionWindowSize());
+ }
+ result = result && (getAllowConnect()
+ == other.getAllowConnect());
+ result = result && (getAllowMetadata()
+ == other.getAllowMetadata());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasHpackTableSize()) {
+ hash = (37 * hash) + HPACK_TABLE_SIZE_FIELD_NUMBER;
+ hash = (53 * hash) + getHpackTableSize().hashCode();
+ }
+ if (hasMaxConcurrentStreams()) {
+ hash = (37 * hash) + MAX_CONCURRENT_STREAMS_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxConcurrentStreams().hashCode();
+ }
+ if (hasInitialStreamWindowSize()) {
+ hash = (37 * hash) + INITIAL_STREAM_WINDOW_SIZE_FIELD_NUMBER;
+ hash = (53 * hash) + getInitialStreamWindowSize().hashCode();
+ }
+ if (hasInitialConnectionWindowSize()) {
+ hash = (37 * hash) + INITIAL_CONNECTION_WINDOW_SIZE_FIELD_NUMBER;
+ hash = (53 * hash) + getInitialConnectionWindowSize().hashCode();
+ }
+ hash = (37 * hash) + ALLOW_CONNECT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getAllowConnect());
+ hash = (37 * hash) + ALLOW_METADATA_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getAllowMetadata());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.Http2ProtocolOptions}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.Http2ProtocolOptions)
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptionsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http2ProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http2ProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (hpackTableSizeBuilder_ == null) {
+ hpackTableSize_ = null;
+ } else {
+ hpackTableSize_ = null;
+ hpackTableSizeBuilder_ = null;
+ }
+ if (maxConcurrentStreamsBuilder_ == null) {
+ maxConcurrentStreams_ = null;
+ } else {
+ maxConcurrentStreams_ = null;
+ maxConcurrentStreamsBuilder_ = null;
+ }
+ if (initialStreamWindowSizeBuilder_ == null) {
+ initialStreamWindowSize_ = null;
+ } else {
+ initialStreamWindowSize_ = null;
+ initialStreamWindowSizeBuilder_ = null;
+ }
+ if (initialConnectionWindowSizeBuilder_ == null) {
+ initialConnectionWindowSize_ = null;
+ } else {
+ initialConnectionWindowSize_ = null;
+ initialConnectionWindowSizeBuilder_ = null;
+ }
+ allowConnect_ = false;
+
+ allowMetadata_ = false;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_Http2ProtocolOptions_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions result = new io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions(this);
+ if (hpackTableSizeBuilder_ == null) {
+ result.hpackTableSize_ = hpackTableSize_;
+ } else {
+ result.hpackTableSize_ = hpackTableSizeBuilder_.build();
+ }
+ if (maxConcurrentStreamsBuilder_ == null) {
+ result.maxConcurrentStreams_ = maxConcurrentStreams_;
+ } else {
+ result.maxConcurrentStreams_ = maxConcurrentStreamsBuilder_.build();
+ }
+ if (initialStreamWindowSizeBuilder_ == null) {
+ result.initialStreamWindowSize_ = initialStreamWindowSize_;
+ } else {
+ result.initialStreamWindowSize_ = initialStreamWindowSizeBuilder_.build();
+ }
+ if (initialConnectionWindowSizeBuilder_ == null) {
+ result.initialConnectionWindowSize_ = initialConnectionWindowSize_;
+ } else {
+ result.initialConnectionWindowSize_ = initialConnectionWindowSizeBuilder_.build();
+ }
+ result.allowConnect_ = allowConnect_;
+ result.allowMetadata_ = allowMetadata_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions.getDefaultInstance()) return this;
+ if (other.hasHpackTableSize()) {
+ mergeHpackTableSize(other.getHpackTableSize());
+ }
+ if (other.hasMaxConcurrentStreams()) {
+ mergeMaxConcurrentStreams(other.getMaxConcurrentStreams());
+ }
+ if (other.hasInitialStreamWindowSize()) {
+ mergeInitialStreamWindowSize(other.getInitialStreamWindowSize());
+ }
+ if (other.hasInitialConnectionWindowSize()) {
+ mergeInitialConnectionWindowSize(other.getInitialConnectionWindowSize());
+ }
+ if (other.getAllowConnect() != false) {
+ setAllowConnect(other.getAllowConnect());
+ }
+ if (other.getAllowMetadata() != false) {
+ setAllowMetadata(other.getAllowMetadata());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value hpackTableSize_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> hpackTableSizeBuilder_;
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public boolean hasHpackTableSize() {
+ return hpackTableSizeBuilder_ != null || hpackTableSize_ != null;
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value getHpackTableSize() {
+ if (hpackTableSizeBuilder_ == null) {
+ return hpackTableSize_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : hpackTableSize_;
+ } else {
+ return hpackTableSizeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public Builder setHpackTableSize(com.google.protobuf.UInt32Value value) {
+ if (hpackTableSizeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ hpackTableSize_ = value;
+ onChanged();
+ } else {
+ hpackTableSizeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public Builder setHpackTableSize(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (hpackTableSizeBuilder_ == null) {
+ hpackTableSize_ = builderForValue.build();
+ onChanged();
+ } else {
+ hpackTableSizeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public Builder mergeHpackTableSize(com.google.protobuf.UInt32Value value) {
+ if (hpackTableSizeBuilder_ == null) {
+ if (hpackTableSize_ != null) {
+ hpackTableSize_ =
+ com.google.protobuf.UInt32Value.newBuilder(hpackTableSize_).mergeFrom(value).buildPartial();
+ } else {
+ hpackTableSize_ = value;
+ }
+ onChanged();
+ } else {
+ hpackTableSizeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public Builder clearHpackTableSize() {
+ if (hpackTableSizeBuilder_ == null) {
+ hpackTableSize_ = null;
+ onChanged();
+ } else {
+ hpackTableSize_ = null;
+ hpackTableSizeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getHpackTableSizeBuilder() {
+
+ onChanged();
+ return getHpackTableSizeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getHpackTableSizeOrBuilder() {
+ if (hpackTableSizeBuilder_ != null) {
+ return hpackTableSizeBuilder_.getMessageOrBuilder();
+ } else {
+ return hpackTableSize_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : hpackTableSize_;
+ }
+ }
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getHpackTableSizeFieldBuilder() {
+ if (hpackTableSizeBuilder_ == null) {
+ hpackTableSizeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getHpackTableSize(),
+ getParentForChildren(),
+ isClean());
+ hpackTableSize_ = null;
+ }
+ return hpackTableSizeBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value maxConcurrentStreams_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxConcurrentStreamsBuilder_;
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasMaxConcurrentStreams() {
+ return maxConcurrentStreamsBuilder_ != null || maxConcurrentStreams_ != null;
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxConcurrentStreams() {
+ if (maxConcurrentStreamsBuilder_ == null) {
+ return maxConcurrentStreams_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxConcurrentStreams_;
+ } else {
+ return maxConcurrentStreamsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setMaxConcurrentStreams(com.google.protobuf.UInt32Value value) {
+ if (maxConcurrentStreamsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxConcurrentStreams_ = value;
+ onChanged();
+ } else {
+ maxConcurrentStreamsBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setMaxConcurrentStreams(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxConcurrentStreamsBuilder_ == null) {
+ maxConcurrentStreams_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxConcurrentStreamsBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeMaxConcurrentStreams(com.google.protobuf.UInt32Value value) {
+ if (maxConcurrentStreamsBuilder_ == null) {
+ if (maxConcurrentStreams_ != null) {
+ maxConcurrentStreams_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxConcurrentStreams_).mergeFrom(value).buildPartial();
+ } else {
+ maxConcurrentStreams_ = value;
+ }
+ onChanged();
+ } else {
+ maxConcurrentStreamsBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearMaxConcurrentStreams() {
+ if (maxConcurrentStreamsBuilder_ == null) {
+ maxConcurrentStreams_ = null;
+ onChanged();
+ } else {
+ maxConcurrentStreams_ = null;
+ maxConcurrentStreamsBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxConcurrentStreamsBuilder() {
+
+ onChanged();
+ return getMaxConcurrentStreamsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxConcurrentStreamsOrBuilder() {
+ if (maxConcurrentStreamsBuilder_ != null) {
+ return maxConcurrentStreamsBuilder_.getMessageOrBuilder();
+ } else {
+ return maxConcurrentStreams_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxConcurrentStreams_;
+ }
+ }
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxConcurrentStreamsFieldBuilder() {
+ if (maxConcurrentStreamsBuilder_ == null) {
+ maxConcurrentStreamsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxConcurrentStreams(),
+ getParentForChildren(),
+ isClean());
+ maxConcurrentStreams_ = null;
+ }
+ return maxConcurrentStreamsBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value initialStreamWindowSize_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> initialStreamWindowSizeBuilder_;
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasInitialStreamWindowSize() {
+ return initialStreamWindowSizeBuilder_ != null || initialStreamWindowSize_ != null;
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getInitialStreamWindowSize() {
+ if (initialStreamWindowSizeBuilder_ == null) {
+ return initialStreamWindowSize_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : initialStreamWindowSize_;
+ } else {
+ return initialStreamWindowSizeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInitialStreamWindowSize(com.google.protobuf.UInt32Value value) {
+ if (initialStreamWindowSizeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ initialStreamWindowSize_ = value;
+ onChanged();
+ } else {
+ initialStreamWindowSizeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInitialStreamWindowSize(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (initialStreamWindowSizeBuilder_ == null) {
+ initialStreamWindowSize_ = builderForValue.build();
+ onChanged();
+ } else {
+ initialStreamWindowSizeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeInitialStreamWindowSize(com.google.protobuf.UInt32Value value) {
+ if (initialStreamWindowSizeBuilder_ == null) {
+ if (initialStreamWindowSize_ != null) {
+ initialStreamWindowSize_ =
+ com.google.protobuf.UInt32Value.newBuilder(initialStreamWindowSize_).mergeFrom(value).buildPartial();
+ } else {
+ initialStreamWindowSize_ = value;
+ }
+ onChanged();
+ } else {
+ initialStreamWindowSizeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearInitialStreamWindowSize() {
+ if (initialStreamWindowSizeBuilder_ == null) {
+ initialStreamWindowSize_ = null;
+ onChanged();
+ } else {
+ initialStreamWindowSize_ = null;
+ initialStreamWindowSizeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getInitialStreamWindowSizeBuilder() {
+
+ onChanged();
+ return getInitialStreamWindowSizeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getInitialStreamWindowSizeOrBuilder() {
+ if (initialStreamWindowSizeBuilder_ != null) {
+ return initialStreamWindowSizeBuilder_.getMessageOrBuilder();
+ } else {
+ return initialStreamWindowSize_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : initialStreamWindowSize_;
+ }
+ }
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getInitialStreamWindowSizeFieldBuilder() {
+ if (initialStreamWindowSizeBuilder_ == null) {
+ initialStreamWindowSizeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getInitialStreamWindowSize(),
+ getParentForChildren(),
+ isClean());
+ initialStreamWindowSize_ = null;
+ }
+ return initialStreamWindowSizeBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value initialConnectionWindowSize_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> initialConnectionWindowSizeBuilder_;
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasInitialConnectionWindowSize() {
+ return initialConnectionWindowSizeBuilder_ != null || initialConnectionWindowSize_ != null;
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getInitialConnectionWindowSize() {
+ if (initialConnectionWindowSizeBuilder_ == null) {
+ return initialConnectionWindowSize_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : initialConnectionWindowSize_;
+ } else {
+ return initialConnectionWindowSizeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInitialConnectionWindowSize(com.google.protobuf.UInt32Value value) {
+ if (initialConnectionWindowSizeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ initialConnectionWindowSize_ = value;
+ onChanged();
+ } else {
+ initialConnectionWindowSizeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setInitialConnectionWindowSize(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (initialConnectionWindowSizeBuilder_ == null) {
+ initialConnectionWindowSize_ = builderForValue.build();
+ onChanged();
+ } else {
+ initialConnectionWindowSizeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeInitialConnectionWindowSize(com.google.protobuf.UInt32Value value) {
+ if (initialConnectionWindowSizeBuilder_ == null) {
+ if (initialConnectionWindowSize_ != null) {
+ initialConnectionWindowSize_ =
+ com.google.protobuf.UInt32Value.newBuilder(initialConnectionWindowSize_).mergeFrom(value).buildPartial();
+ } else {
+ initialConnectionWindowSize_ = value;
+ }
+ onChanged();
+ } else {
+ initialConnectionWindowSizeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearInitialConnectionWindowSize() {
+ if (initialConnectionWindowSizeBuilder_ == null) {
+ initialConnectionWindowSize_ = null;
+ onChanged();
+ } else {
+ initialConnectionWindowSize_ = null;
+ initialConnectionWindowSizeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getInitialConnectionWindowSizeBuilder() {
+
+ onChanged();
+ return getInitialConnectionWindowSizeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getInitialConnectionWindowSizeOrBuilder() {
+ if (initialConnectionWindowSizeBuilder_ != null) {
+ return initialConnectionWindowSizeBuilder_.getMessageOrBuilder();
+ } else {
+ return initialConnectionWindowSize_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : initialConnectionWindowSize_;
+ }
+ }
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getInitialConnectionWindowSizeFieldBuilder() {
+ if (initialConnectionWindowSizeBuilder_ == null) {
+ initialConnectionWindowSizeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getInitialConnectionWindowSize(),
+ getParentForChildren(),
+ isClean());
+ initialConnectionWindowSize_ = null;
+ }
+ return initialConnectionWindowSizeBuilder_;
+ }
+
+ private boolean allowConnect_ ;
+ /**
+ * <pre>
+ * Allows proxying Websocket and other upgrades over H2 connect.
+ * </pre>
+ *
+ * <code>bool allow_connect = 5;</code>
+ */
+ public boolean getAllowConnect() {
+ return allowConnect_;
+ }
+ /**
+ * <pre>
+ * Allows proxying Websocket and other upgrades over H2 connect.
+ * </pre>
+ *
+ * <code>bool allow_connect = 5;</code>
+ */
+ public Builder setAllowConnect(boolean value) {
+
+ allowConnect_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Allows proxying Websocket and other upgrades over H2 connect.
+ * </pre>
+ *
+ * <code>bool allow_connect = 5;</code>
+ */
+ public Builder clearAllowConnect() {
+
+ allowConnect_ = false;
+ onChanged();
+ return this;
+ }
+
+ private boolean allowMetadata_ ;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Hiding until envoy has full metadata support.
+ * Still under implementation. DO NOT USE.
+ * Allows metadata. See [metadata
+ * docs](https://github.com/envoyproxy/envoy/blob/master/source/docs/h2_metadata.md) for more
+ * information.
+ * </pre>
+ *
+ * <code>bool allow_metadata = 6;</code>
+ */
+ public boolean getAllowMetadata() {
+ return allowMetadata_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Hiding until envoy has full metadata support.
+ * Still under implementation. DO NOT USE.
+ * Allows metadata. See [metadata
+ * docs](https://github.com/envoyproxy/envoy/blob/master/source/docs/h2_metadata.md) for more
+ * information.
+ * </pre>
+ *
+ * <code>bool allow_metadata = 6;</code>
+ */
+ public Builder setAllowMetadata(boolean value) {
+
+ allowMetadata_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Hiding until envoy has full metadata support.
+ * Still under implementation. DO NOT USE.
+ * Allows metadata. See [metadata
+ * docs](https://github.com/envoyproxy/envoy/blob/master/source/docs/h2_metadata.md) for more
+ * information.
+ * </pre>
+ *
+ * <code>bool allow_metadata = 6;</code>
+ */
+ public Builder clearAllowMetadata() {
+
+ allowMetadata_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.Http2ProtocolOptions)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.Http2ProtocolOptions)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Http2ProtocolOptions>
+ PARSER = new com.google.protobuf.AbstractParser<Http2ProtocolOptions>() {
+ public Http2ProtocolOptions parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Http2ProtocolOptions(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Http2ProtocolOptions> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Http2ProtocolOptions> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Http2ProtocolOptions getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http2ProtocolOptionsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http2ProtocolOptionsOrBuilder.java
new file mode 100644
index 000000000..42456d4c7
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Http2ProtocolOptionsOrBuilder.java
@@ -0,0 +1,155 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface Http2ProtocolOptionsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.Http2ProtocolOptions)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ boolean hasHpackTableSize();
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ com.google.protobuf.UInt32Value getHpackTableSize();
+ /**
+ * <pre>
+ * `Maximum table size &lt;http://httpwg.org/specs/rfc7541.html#rfc.section.4.2&gt;`_
+ * (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ * range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ * compression.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value hpack_table_size = 1;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getHpackTableSizeOrBuilder();
+
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasMaxConcurrentStreams();
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getMaxConcurrentStreams();
+ /**
+ * <pre>
+ * `Maximum concurrent streams &lt;http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2&gt;`_
+ * allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ * and defaults to 2147483647.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_concurrent_streams = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxConcurrentStreamsOrBuilder();
+
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasInitialStreamWindowSize();
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getInitialStreamWindowSize();
+ /**
+ * <pre>
+ * This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ * HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ * stop the flow of data to the codec buffers.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_stream_window_size = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getInitialStreamWindowSizeOrBuilder();
+
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasInitialConnectionWindowSize();
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getInitialConnectionWindowSize();
+ /**
+ * <pre>
+ * Similar to *initial_stream_window_size*, but for connection-level flow-control
+ * window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value initial_connection_window_size = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getInitialConnectionWindowSizeOrBuilder();
+
+ /**
+ * <pre>
+ * Allows proxying Websocket and other upgrades over H2 connect.
+ * </pre>
+ *
+ * <code>bool allow_connect = 5;</code>
+ */
+ boolean getAllowConnect();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Hiding until envoy has full metadata support.
+ * Still under implementation. DO NOT USE.
+ * Allows metadata. See [metadata
+ * docs](https://github.com/envoyproxy/envoy/blob/master/source/docs/h2_metadata.md) for more
+ * information.
+ * </pre>
+ *
+ * <code>bool allow_metadata = 6;</code>
+ */
+ boolean getAllowMetadata();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HttpProtocolOptions.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HttpProtocolOptions.java
new file mode 100644
index 000000000..f283dd33d
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HttpProtocolOptions.java
@@ -0,0 +1,654 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * Protobuf type {@code envoy.api.v2.core.HttpProtocolOptions}
+ */
+public final class HttpProtocolOptions extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.HttpProtocolOptions)
+ HttpProtocolOptionsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use HttpProtocolOptions.newBuilder() to construct.
+ private HttpProtocolOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private HttpProtocolOptions() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private HttpProtocolOptions(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (idleTimeout_ != null) {
+ subBuilder = idleTimeout_.toBuilder();
+ }
+ idleTimeout_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(idleTimeout_);
+ idleTimeout_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_HttpProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_HttpProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.Builder.class);
+ }
+
+ public static final int IDLE_TIMEOUT_FIELD_NUMBER = 1;
+ private com.google.protobuf.Duration idleTimeout_;
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public boolean hasIdleTimeout() {
+ return idleTimeout_ != null;
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public com.google.protobuf.Duration getIdleTimeout() {
+ return idleTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : idleTimeout_;
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder() {
+ return getIdleTimeout();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (idleTimeout_ != null) {
+ output.writeMessage(1, getIdleTimeout());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (idleTimeout_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getIdleTimeout());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions other = (io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions) obj;
+
+ boolean result = true;
+ result = result && (hasIdleTimeout() == other.hasIdleTimeout());
+ if (hasIdleTimeout()) {
+ result = result && getIdleTimeout()
+ .equals(other.getIdleTimeout());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasIdleTimeout()) {
+ hash = (37 * hash) + IDLE_TIMEOUT_FIELD_NUMBER;
+ hash = (53 * hash) + getIdleTimeout().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.HttpProtocolOptions}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.HttpProtocolOptions)
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptionsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_HttpProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_HttpProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (idleTimeoutBuilder_ == null) {
+ idleTimeout_ = null;
+ } else {
+ idleTimeout_ = null;
+ idleTimeoutBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_HttpProtocolOptions_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions result = new io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions(this);
+ if (idleTimeoutBuilder_ == null) {
+ result.idleTimeout_ = idleTimeout_;
+ } else {
+ result.idleTimeout_ = idleTimeoutBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions.getDefaultInstance()) return this;
+ if (other.hasIdleTimeout()) {
+ mergeIdleTimeout(other.getIdleTimeout());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.Duration idleTimeout_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> idleTimeoutBuilder_;
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public boolean hasIdleTimeout() {
+ return idleTimeoutBuilder_ != null || idleTimeout_ != null;
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public com.google.protobuf.Duration getIdleTimeout() {
+ if (idleTimeoutBuilder_ == null) {
+ return idleTimeout_ == null ? com.google.protobuf.Duration.getDefaultInstance() : idleTimeout_;
+ } else {
+ return idleTimeoutBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public Builder setIdleTimeout(com.google.protobuf.Duration value) {
+ if (idleTimeoutBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ idleTimeout_ = value;
+ onChanged();
+ } else {
+ idleTimeoutBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public Builder setIdleTimeout(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (idleTimeoutBuilder_ == null) {
+ idleTimeout_ = builderForValue.build();
+ onChanged();
+ } else {
+ idleTimeoutBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public Builder mergeIdleTimeout(com.google.protobuf.Duration value) {
+ if (idleTimeoutBuilder_ == null) {
+ if (idleTimeout_ != null) {
+ idleTimeout_ =
+ com.google.protobuf.Duration.newBuilder(idleTimeout_).mergeFrom(value).buildPartial();
+ } else {
+ idleTimeout_ = value;
+ }
+ onChanged();
+ } else {
+ idleTimeoutBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public Builder clearIdleTimeout() {
+ if (idleTimeoutBuilder_ == null) {
+ idleTimeout_ = null;
+ onChanged();
+ } else {
+ idleTimeout_ = null;
+ idleTimeoutBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public com.google.protobuf.Duration.Builder getIdleTimeoutBuilder() {
+
+ onChanged();
+ return getIdleTimeoutFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder() {
+ if (idleTimeoutBuilder_ != null) {
+ return idleTimeoutBuilder_.getMessageOrBuilder();
+ } else {
+ return idleTimeout_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : idleTimeout_;
+ }
+ }
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getIdleTimeoutFieldBuilder() {
+ if (idleTimeoutBuilder_ == null) {
+ idleTimeoutBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getIdleTimeout(),
+ getParentForChildren(),
+ isClean());
+ idleTimeout_ = null;
+ }
+ return idleTimeoutBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.HttpProtocolOptions)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.HttpProtocolOptions)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<HttpProtocolOptions>
+ PARSER = new com.google.protobuf.AbstractParser<HttpProtocolOptions>() {
+ public HttpProtocolOptions parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new HttpProtocolOptions(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<HttpProtocolOptions> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<HttpProtocolOptions> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.HttpProtocolOptions getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HttpProtocolOptionsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HttpProtocolOptionsOrBuilder.java
new file mode 100644
index 000000000..b4786d7ce
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/HttpProtocolOptionsOrBuilder.java
@@ -0,0 +1,43 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface HttpProtocolOptionsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.HttpProtocolOptions)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ boolean hasIdleTimeout();
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ com.google.protobuf.Duration getIdleTimeout();
+ /**
+ * <pre>
+ * The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ * period in which there are no active requests. If not set, there is no idle timeout. When the
+ * idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ * that HTTP/2 PINGs will not keep the connection alive.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration idle_timeout = 1;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Locality.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Locality.java
new file mode 100644
index 000000000..1d7f5e69f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Locality.java
@@ -0,0 +1,925 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Identifies location of where either Envoy runs or where upstream hosts run.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.Locality}
+ */
+public final class Locality extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.Locality)
+ LocalityOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Locality.newBuilder() to construct.
+ private Locality(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Locality() {
+ region_ = "";
+ zone_ = "";
+ subZone_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Locality(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ region_ = s;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ zone_ = s;
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ subZone_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Locality_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Locality_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.class, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder.class);
+ }
+
+ public static final int REGION_FIELD_NUMBER = 1;
+ private volatile java.lang.Object region_;
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ public java.lang.String getRegion() {
+ java.lang.Object ref = region_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ region_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getRegionBytes() {
+ java.lang.Object ref = region_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ region_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ZONE_FIELD_NUMBER = 2;
+ private volatile java.lang.Object zone_;
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ public java.lang.String getZone() {
+ java.lang.Object ref = zone_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ zone_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getZoneBytes() {
+ java.lang.Object ref = zone_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ zone_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int SUB_ZONE_FIELD_NUMBER = 3;
+ private volatile java.lang.Object subZone_;
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ public java.lang.String getSubZone() {
+ java.lang.Object ref = subZone_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ subZone_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getSubZoneBytes() {
+ java.lang.Object ref = subZone_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ subZone_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getRegionBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, region_);
+ }
+ if (!getZoneBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, zone_);
+ }
+ if (!getSubZoneBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, subZone_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getRegionBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, region_);
+ }
+ if (!getZoneBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, zone_);
+ }
+ if (!getSubZoneBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, subZone_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.Locality)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality other = (io.grpc.xds.shaded.envoy.api.v2.core.Locality) obj;
+
+ boolean result = true;
+ result = result && getRegion()
+ .equals(other.getRegion());
+ result = result && getZone()
+ .equals(other.getZone());
+ result = result && getSubZone()
+ .equals(other.getSubZone());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + REGION_FIELD_NUMBER;
+ hash = (53 * hash) + getRegion().hashCode();
+ hash = (37 * hash) + ZONE_FIELD_NUMBER;
+ hash = (53 * hash) + getZone().hashCode();
+ hash = (37 * hash) + SUB_ZONE_FIELD_NUMBER;
+ hash = (53 * hash) + getSubZone().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.Locality prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Identifies location of where either Envoy runs or where upstream hosts run.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.Locality}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.Locality)
+ io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Locality_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Locality_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.class, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.Locality.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ region_ = "";
+
+ zone_ = "";
+
+ subZone_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Locality_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality result = new io.grpc.xds.shaded.envoy.api.v2.core.Locality(this);
+ result.region_ = region_;
+ result.zone_ = zone_;
+ result.subZone_ = subZone_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.Locality) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.Locality)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.Locality other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance()) return this;
+ if (!other.getRegion().isEmpty()) {
+ region_ = other.region_;
+ onChanged();
+ }
+ if (!other.getZone().isEmpty()) {
+ zone_ = other.zone_;
+ onChanged();
+ }
+ if (!other.getSubZone().isEmpty()) {
+ subZone_ = other.subZone_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.Locality) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object region_ = "";
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ public java.lang.String getRegion() {
+ java.lang.Object ref = region_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ region_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getRegionBytes() {
+ java.lang.Object ref = region_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ region_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ public Builder setRegion(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ region_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ public Builder clearRegion() {
+
+ region_ = getDefaultInstance().getRegion();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ public Builder setRegionBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ region_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object zone_ = "";
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ public java.lang.String getZone() {
+ java.lang.Object ref = zone_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ zone_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getZoneBytes() {
+ java.lang.Object ref = zone_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ zone_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ public Builder setZone(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ zone_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ public Builder clearZone() {
+
+ zone_ = getDefaultInstance().getZone();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ public Builder setZoneBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ zone_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object subZone_ = "";
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ public java.lang.String getSubZone() {
+ java.lang.Object ref = subZone_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ subZone_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getSubZoneBytes() {
+ java.lang.Object ref = subZone_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ subZone_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ public Builder setSubZone(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ subZone_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ public Builder clearSubZone() {
+
+ subZone_ = getDefaultInstance().getSubZone();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ public Builder setSubZoneBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ subZone_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.Locality)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.Locality)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.Locality DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.Locality();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Locality getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Locality>
+ PARSER = new com.google.protobuf.AbstractParser<Locality>() {
+ public Locality parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Locality(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Locality> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Locality> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/LocalityOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/LocalityOrBuilder.java
new file mode 100644
index 000000000..04ff3c71b
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/LocalityOrBuilder.java
@@ -0,0 +1,81 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface LocalityOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.Locality)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ java.lang.String getRegion();
+ /**
+ * <pre>
+ * Region this :ref:`zone &lt;envoy_api_field_core.Locality.zone&gt;` belongs to.
+ * </pre>
+ *
+ * <code>string region = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getRegionBytes();
+
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ java.lang.String getZone();
+ /**
+ * <pre>
+ * Defines the local service zone where Envoy is running. Though optional, it
+ * should be set if discovery service routing is used and the discovery
+ * service exposes :ref:`zone data &lt;envoy_api_field_endpoint.LocalityLbEndpoints.locality&gt;`,
+ * either in this message or via :option:`--service-zone`. The meaning of zone
+ * is context dependent, e.g. `Availability Zone (AZ)
+ * &lt;https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html&gt;`_
+ * on AWS, `Zone &lt;https://cloud.google.com/compute/docs/regions-zones/&gt;`_ on
+ * GCP, etc.
+ * </pre>
+ *
+ * <code>string zone = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getZoneBytes();
+
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ java.lang.String getSubZone();
+ /**
+ * <pre>
+ * When used for locality of upstream hosts, this field further splits zone
+ * into smaller chunks of sub-zones so they can be load balanced
+ * independently.
+ * </pre>
+ *
+ * <code>string sub_zone = 3;</code>
+ */
+ com.google.protobuf.ByteString
+ getSubZoneBytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Metadata.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Metadata.java
new file mode 100644
index 000000000..e35bb242a
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Metadata.java
@@ -0,0 +1,758 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Metadata provides additional inputs to filters based on matched listeners,
+ * filter chains, routes and endpoints. It is structured as a map, usually from
+ * filter name (in reverse DNS format) to metadata specific to the filter. Metadata
+ * key-values for a filter are merged as connection and request handling occurs,
+ * with later values for the same key overriding earlier values.
+ * An example use of metadata is providing additional values to
+ * http_connection_manager in the envoy.http_connection_manager.access_log
+ * namespace.
+ * Another example use of metadata is to per service config info in cluster metadata, which may get
+ * consumed by multiple filters.
+ * For load balancing, Metadata provides a means to subset cluster endpoints.
+ * Endpoints have a Metadata object associated and routes contain a Metadata
+ * object to match against. There are some well defined metadata used today for
+ * this purpose:
+ * * ``{"envoy.lb": {"canary": &lt;bool&gt; }}`` This indicates the canary status of an
+ * endpoint and is also used during header processing
+ * (x-envoy-upstream-canary) and for stats purposes.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.Metadata}
+ */
+public final class Metadata extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.Metadata)
+ MetadataOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Metadata.newBuilder() to construct.
+ private Metadata(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Metadata() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Metadata(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
+ filterMetadata_ = com.google.protobuf.MapField.newMapField(
+ FilterMetadataDefaultEntryHolder.defaultEntry);
+ mutable_bitField0_ |= 0x00000001;
+ }
+ com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Struct>
+ filterMetadata__ = input.readMessage(
+ FilterMetadataDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+ filterMetadata_.getMutableMap().put(
+ filterMetadata__.getKey(), filterMetadata__.getValue());
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Metadata_descriptor;
+ }
+
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 1:
+ return internalGetFilterMetadata();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Metadata_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.class, io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder.class);
+ }
+
+ public static final int FILTER_METADATA_FIELD_NUMBER = 1;
+ private static final class FilterMetadataDefaultEntryHolder {
+ static final com.google.protobuf.MapEntry<
+ java.lang.String, com.google.protobuf.Struct> defaultEntry =
+ com.google.protobuf.MapEntry
+ .<java.lang.String, com.google.protobuf.Struct>newDefaultInstance(
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Metadata_FilterMetadataEntry_descriptor,
+ com.google.protobuf.WireFormat.FieldType.STRING,
+ "",
+ com.google.protobuf.WireFormat.FieldType.MESSAGE,
+ com.google.protobuf.Struct.getDefaultInstance());
+ }
+ private com.google.protobuf.MapField<
+ java.lang.String, com.google.protobuf.Struct> filterMetadata_;
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Struct>
+ internalGetFilterMetadata() {
+ if (filterMetadata_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ FilterMetadataDefaultEntryHolder.defaultEntry);
+ }
+ return filterMetadata_;
+ }
+
+ public int getFilterMetadataCount() {
+ return internalGetFilterMetadata().getMap().size();
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public boolean containsFilterMetadata(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetFilterMetadata().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getFilterMetadataMap()} instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct> getFilterMetadata() {
+ return getFilterMetadataMap();
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct> getFilterMetadataMap() {
+ return internalGetFilterMetadata().getMap();
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public com.google.protobuf.Struct getFilterMetadataOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Struct defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> map =
+ internalGetFilterMetadata().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public com.google.protobuf.Struct getFilterMetadataOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> map =
+ internalGetFilterMetadata().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ com.google.protobuf.GeneratedMessageV3
+ .serializeStringMapTo(
+ output,
+ internalGetFilterMetadata(),
+ FilterMetadataDefaultEntryHolder.defaultEntry,
+ 1);
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ for (java.util.Map.Entry<java.lang.String, com.google.protobuf.Struct> entry
+ : internalGetFilterMetadata().getMap().entrySet()) {
+ com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Struct>
+ filterMetadata__ = FilterMetadataDefaultEntryHolder.defaultEntry.newBuilderForType()
+ .setKey(entry.getKey())
+ .setValue(entry.getValue())
+ .build();
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, filterMetadata__);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.Metadata)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata other = (io.grpc.xds.shaded.envoy.api.v2.core.Metadata) obj;
+
+ boolean result = true;
+ result = result && internalGetFilterMetadata().equals(
+ other.internalGetFilterMetadata());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (!internalGetFilterMetadata().getMap().isEmpty()) {
+ hash = (37 * hash) + FILTER_METADATA_FIELD_NUMBER;
+ hash = (53 * hash) + internalGetFilterMetadata().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.Metadata prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Metadata provides additional inputs to filters based on matched listeners,
+ * filter chains, routes and endpoints. It is structured as a map, usually from
+ * filter name (in reverse DNS format) to metadata specific to the filter. Metadata
+ * key-values for a filter are merged as connection and request handling occurs,
+ * with later values for the same key overriding earlier values.
+ * An example use of metadata is providing additional values to
+ * http_connection_manager in the envoy.http_connection_manager.access_log
+ * namespace.
+ * Another example use of metadata is to per service config info in cluster metadata, which may get
+ * consumed by multiple filters.
+ * For load balancing, Metadata provides a means to subset cluster endpoints.
+ * Endpoints have a Metadata object associated and routes contain a Metadata
+ * object to match against. There are some well defined metadata used today for
+ * this purpose:
+ * * ``{"envoy.lb": {"canary": &lt;bool&gt; }}`` This indicates the canary status of an
+ * endpoint and is also used during header processing
+ * (x-envoy-upstream-canary) and for stats purposes.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.Metadata}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.Metadata)
+ io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Metadata_descriptor;
+ }
+
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMapField(
+ int number) {
+ switch (number) {
+ case 1:
+ return internalGetFilterMetadata();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ @SuppressWarnings({"rawtypes"})
+ protected com.google.protobuf.MapField internalGetMutableMapField(
+ int number) {
+ switch (number) {
+ case 1:
+ return internalGetMutableFilterMetadata();
+ default:
+ throw new RuntimeException(
+ "Invalid map field number: " + number);
+ }
+ }
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Metadata_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.class, io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.Metadata.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ internalGetMutableFilterMetadata().clear();
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Metadata_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Metadata.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata result = new io.grpc.xds.shaded.envoy.api.v2.core.Metadata(this);
+ int from_bitField0_ = bitField0_;
+ result.filterMetadata_ = internalGetFilterMetadata();
+ result.filterMetadata_.makeImmutable();
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.Metadata) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.Metadata)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.Metadata other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.Metadata.getDefaultInstance()) return this;
+ internalGetMutableFilterMetadata().mergeFrom(
+ other.internalGetFilterMetadata());
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.Metadata) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private com.google.protobuf.MapField<
+ java.lang.String, com.google.protobuf.Struct> filterMetadata_;
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Struct>
+ internalGetFilterMetadata() {
+ if (filterMetadata_ == null) {
+ return com.google.protobuf.MapField.emptyMapField(
+ FilterMetadataDefaultEntryHolder.defaultEntry);
+ }
+ return filterMetadata_;
+ }
+ private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Struct>
+ internalGetMutableFilterMetadata() {
+ onChanged();;
+ if (filterMetadata_ == null) {
+ filterMetadata_ = com.google.protobuf.MapField.newMapField(
+ FilterMetadataDefaultEntryHolder.defaultEntry);
+ }
+ if (!filterMetadata_.isMutable()) {
+ filterMetadata_ = filterMetadata_.copy();
+ }
+ return filterMetadata_;
+ }
+
+ public int getFilterMetadataCount() {
+ return internalGetFilterMetadata().getMap().size();
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public boolean containsFilterMetadata(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ return internalGetFilterMetadata().getMap().containsKey(key);
+ }
+ /**
+ * Use {@link #getFilterMetadataMap()} instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct> getFilterMetadata() {
+ return getFilterMetadataMap();
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct> getFilterMetadataMap() {
+ return internalGetFilterMetadata().getMap();
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public com.google.protobuf.Struct getFilterMetadataOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Struct defaultValue) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> map =
+ internalGetFilterMetadata().getMap();
+ return map.containsKey(key) ? map.get(key) : defaultValue;
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public com.google.protobuf.Struct getFilterMetadataOrThrow(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> map =
+ internalGetFilterMetadata().getMap();
+ if (!map.containsKey(key)) {
+ throw new java.lang.IllegalArgumentException();
+ }
+ return map.get(key);
+ }
+
+ public Builder clearFilterMetadata() {
+ internalGetMutableFilterMetadata().getMutableMap()
+ .clear();
+ return this;
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public Builder removeFilterMetadata(
+ java.lang.String key) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableFilterMetadata().getMutableMap()
+ .remove(key);
+ return this;
+ }
+ /**
+ * Use alternate mutation accessors instead.
+ */
+ @java.lang.Deprecated
+ public java.util.Map<java.lang.String, com.google.protobuf.Struct>
+ getMutableFilterMetadata() {
+ return internalGetMutableFilterMetadata().getMutableMap();
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+ public Builder putFilterMetadata(
+ java.lang.String key,
+ com.google.protobuf.Struct value) {
+ if (key == null) { throw new java.lang.NullPointerException(); }
+ if (value == null) { throw new java.lang.NullPointerException(); }
+ internalGetMutableFilterMetadata().getMutableMap()
+ .put(key, value);
+ return this;
+ }
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ public Builder putAllFilterMetadata(
+ java.util.Map<java.lang.String, com.google.protobuf.Struct> values) {
+ internalGetMutableFilterMetadata().getMutableMap()
+ .putAll(values);
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.Metadata)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.Metadata)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.Metadata DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.Metadata();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Metadata getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Metadata>
+ PARSER = new com.google.protobuf.AbstractParser<Metadata>() {
+ public Metadata parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Metadata(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Metadata> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Metadata> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/MetadataOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/MetadataOrBuilder.java
new file mode 100644
index 000000000..07da889a0
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/MetadataOrBuilder.java
@@ -0,0 +1,68 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface MetadataOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.Metadata)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+ int getFilterMetadataCount();
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+ boolean containsFilterMetadata(
+ java.lang.String key);
+ /**
+ * Use {@link #getFilterMetadataMap()} instead.
+ */
+ @java.lang.Deprecated
+ java.util.Map<java.lang.String, com.google.protobuf.Struct>
+ getFilterMetadata();
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+ java.util.Map<java.lang.String, com.google.protobuf.Struct>
+ getFilterMetadataMap();
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ com.google.protobuf.Struct getFilterMetadataOrDefault(
+ java.lang.String key,
+ com.google.protobuf.Struct defaultValue);
+ /**
+ * <pre>
+ * Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ * namespace is reserved for Envoy's built-in filters.
+ * </pre>
+ *
+ * <code>map&lt;string, .google.protobuf.Struct&gt; filter_metadata = 1;</code>
+ */
+
+ com.google.protobuf.Struct getFilterMetadataOrThrow(
+ java.lang.String key);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Node.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Node.java
new file mode 100644
index 000000000..1417ac7e1
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Node.java
@@ -0,0 +1,1455 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Identifies a specific Envoy instance. The node identifier is presented to the
+ * management server, which may use this identifier to distinguish per Envoy
+ * configuration for serving.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.Node}
+ */
+public final class Node extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.Node)
+ NodeOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Node.newBuilder() to construct.
+ private Node(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Node() {
+ id_ = "";
+ cluster_ = "";
+ buildVersion_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Node(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ id_ = s;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ cluster_ = s;
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Struct.Builder subBuilder = null;
+ if (metadata_ != null) {
+ subBuilder = metadata_.toBuilder();
+ }
+ metadata_ = input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(metadata_);
+ metadata_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder subBuilder = null;
+ if (locality_ != null) {
+ subBuilder = locality_.toBuilder();
+ }
+ locality_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Locality.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(locality_);
+ locality_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ buildVersion_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Node_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Node_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.class, io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder.class);
+ }
+
+ public static final int ID_FIELD_NUMBER = 1;
+ private volatile java.lang.Object id_;
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ id_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CLUSTER_FIELD_NUMBER = 2;
+ private volatile java.lang.Object cluster_;
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ public java.lang.String getCluster() {
+ java.lang.Object ref = cluster_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ cluster_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterBytes() {
+ java.lang.Object ref = cluster_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ cluster_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int METADATA_FIELD_NUMBER = 3;
+ private com.google.protobuf.Struct metadata_;
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public boolean hasMetadata() {
+ return metadata_ != null;
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public com.google.protobuf.Struct getMetadata() {
+ return metadata_ == null ? com.google.protobuf.Struct.getDefaultInstance() : metadata_;
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getMetadataOrBuilder() {
+ return getMetadata();
+ }
+
+ public static final int LOCALITY_FIELD_NUMBER = 4;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Locality locality_;
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public boolean hasLocality() {
+ return locality_ != null;
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality() {
+ return locality_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder() {
+ return getLocality();
+ }
+
+ public static final int BUILD_VERSION_FIELD_NUMBER = 5;
+ private volatile java.lang.Object buildVersion_;
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ public java.lang.String getBuildVersion() {
+ java.lang.Object ref = buildVersion_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ buildVersion_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getBuildVersionBytes() {
+ java.lang.Object ref = buildVersion_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ buildVersion_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getIdBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
+ }
+ if (!getClusterBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, cluster_);
+ }
+ if (metadata_ != null) {
+ output.writeMessage(3, getMetadata());
+ }
+ if (locality_ != null) {
+ output.writeMessage(4, getLocality());
+ }
+ if (!getBuildVersionBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 5, buildVersion_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getIdBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
+ }
+ if (!getClusterBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, cluster_);
+ }
+ if (metadata_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getMetadata());
+ }
+ if (locality_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getLocality());
+ }
+ if (!getBuildVersionBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, buildVersion_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.Node)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.Node other = (io.grpc.xds.shaded.envoy.api.v2.core.Node) obj;
+
+ boolean result = true;
+ result = result && getId()
+ .equals(other.getId());
+ result = result && getCluster()
+ .equals(other.getCluster());
+ result = result && (hasMetadata() == other.hasMetadata());
+ if (hasMetadata()) {
+ result = result && getMetadata()
+ .equals(other.getMetadata());
+ }
+ result = result && (hasLocality() == other.hasLocality());
+ if (hasLocality()) {
+ result = result && getLocality()
+ .equals(other.getLocality());
+ }
+ result = result && getBuildVersion()
+ .equals(other.getBuildVersion());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + ID_FIELD_NUMBER;
+ hash = (53 * hash) + getId().hashCode();
+ hash = (37 * hash) + CLUSTER_FIELD_NUMBER;
+ hash = (53 * hash) + getCluster().hashCode();
+ if (hasMetadata()) {
+ hash = (37 * hash) + METADATA_FIELD_NUMBER;
+ hash = (53 * hash) + getMetadata().hashCode();
+ }
+ if (hasLocality()) {
+ hash = (37 * hash) + LOCALITY_FIELD_NUMBER;
+ hash = (53 * hash) + getLocality().hashCode();
+ }
+ hash = (37 * hash) + BUILD_VERSION_FIELD_NUMBER;
+ hash = (53 * hash) + getBuildVersion().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.Node prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Identifies a specific Envoy instance. The node identifier is presented to the
+ * management server, which may use this identifier to distinguish per Envoy
+ * configuration for serving.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.Node}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.Node)
+ io.grpc.xds.shaded.envoy.api.v2.core.NodeOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Node_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Node_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Node.class, io.grpc.xds.shaded.envoy.api.v2.core.Node.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.Node.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ id_ = "";
+
+ cluster_ = "";
+
+ if (metadataBuilder_ == null) {
+ metadata_ = null;
+ } else {
+ metadata_ = null;
+ metadataBuilder_ = null;
+ }
+ if (localityBuilder_ == null) {
+ locality_ = null;
+ } else {
+ locality_ = null;
+ localityBuilder_ = null;
+ }
+ buildVersion_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_Node_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Node.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Node result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Node result = new io.grpc.xds.shaded.envoy.api.v2.core.Node(this);
+ result.id_ = id_;
+ result.cluster_ = cluster_;
+ if (metadataBuilder_ == null) {
+ result.metadata_ = metadata_;
+ } else {
+ result.metadata_ = metadataBuilder_.build();
+ }
+ if (localityBuilder_ == null) {
+ result.locality_ = locality_;
+ } else {
+ result.locality_ = localityBuilder_.build();
+ }
+ result.buildVersion_ = buildVersion_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.Node) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.Node)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.Node other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.Node.getDefaultInstance()) return this;
+ if (!other.getId().isEmpty()) {
+ id_ = other.id_;
+ onChanged();
+ }
+ if (!other.getCluster().isEmpty()) {
+ cluster_ = other.cluster_;
+ onChanged();
+ }
+ if (other.hasMetadata()) {
+ mergeMetadata(other.getMetadata());
+ }
+ if (other.hasLocality()) {
+ mergeLocality(other.getLocality());
+ }
+ if (!other.getBuildVersion().isEmpty()) {
+ buildVersion_ = other.buildVersion_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.Node parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.Node) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object id_ = "";
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ id_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ public Builder setId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ id_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ public Builder clearId() {
+
+ id_ = getDefaultInstance().getId();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ public Builder setIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ id_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object cluster_ = "";
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ public java.lang.String getCluster() {
+ java.lang.Object ref = cluster_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ cluster_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterBytes() {
+ java.lang.Object ref = cluster_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ cluster_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ public Builder setCluster(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ cluster_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ public Builder clearCluster() {
+
+ cluster_ = getDefaultInstance().getCluster();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ public Builder setClusterBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ cluster_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Struct metadata_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> metadataBuilder_;
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public boolean hasMetadata() {
+ return metadataBuilder_ != null || metadata_ != null;
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public com.google.protobuf.Struct getMetadata() {
+ if (metadataBuilder_ == null) {
+ return metadata_ == null ? com.google.protobuf.Struct.getDefaultInstance() : metadata_;
+ } else {
+ return metadataBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public Builder setMetadata(com.google.protobuf.Struct value) {
+ if (metadataBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ metadata_ = value;
+ onChanged();
+ } else {
+ metadataBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public Builder setMetadata(
+ com.google.protobuf.Struct.Builder builderForValue) {
+ if (metadataBuilder_ == null) {
+ metadata_ = builderForValue.build();
+ onChanged();
+ } else {
+ metadataBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public Builder mergeMetadata(com.google.protobuf.Struct value) {
+ if (metadataBuilder_ == null) {
+ if (metadata_ != null) {
+ metadata_ =
+ com.google.protobuf.Struct.newBuilder(metadata_).mergeFrom(value).buildPartial();
+ } else {
+ metadata_ = value;
+ }
+ onChanged();
+ } else {
+ metadataBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public Builder clearMetadata() {
+ if (metadataBuilder_ == null) {
+ metadata_ = null;
+ onChanged();
+ } else {
+ metadata_ = null;
+ metadataBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public com.google.protobuf.Struct.Builder getMetadataBuilder() {
+
+ onChanged();
+ return getMetadataFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getMetadataOrBuilder() {
+ if (metadataBuilder_ != null) {
+ return metadataBuilder_.getMessageOrBuilder();
+ } else {
+ return metadata_ == null ?
+ com.google.protobuf.Struct.getDefaultInstance() : metadata_;
+ }
+ }
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>
+ getMetadataFieldBuilder() {
+ if (metadataBuilder_ == null) {
+ metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>(
+ getMetadata(),
+ getParentForChildren(),
+ isClean());
+ metadata_ = null;
+ }
+ return metadataBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Locality locality_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder> localityBuilder_;
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public boolean hasLocality() {
+ return localityBuilder_ != null || locality_ != null;
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality() {
+ if (localityBuilder_ == null) {
+ return locality_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ } else {
+ return localityBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public Builder setLocality(io.grpc.xds.shaded.envoy.api.v2.core.Locality value) {
+ if (localityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ locality_ = value;
+ onChanged();
+ } else {
+ localityBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public Builder setLocality(
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder builderForValue) {
+ if (localityBuilder_ == null) {
+ locality_ = builderForValue.build();
+ onChanged();
+ } else {
+ localityBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public Builder mergeLocality(io.grpc.xds.shaded.envoy.api.v2.core.Locality value) {
+ if (localityBuilder_ == null) {
+ if (locality_ != null) {
+ locality_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.newBuilder(locality_).mergeFrom(value).buildPartial();
+ } else {
+ locality_ = value;
+ }
+ onChanged();
+ } else {
+ localityBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public Builder clearLocality() {
+ if (localityBuilder_ == null) {
+ locality_ = null;
+ onChanged();
+ } else {
+ locality_ = null;
+ localityBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder getLocalityBuilder() {
+
+ onChanged();
+ return getLocalityFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder() {
+ if (localityBuilder_ != null) {
+ return localityBuilder_.getMessageOrBuilder();
+ } else {
+ return locality_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ }
+ }
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder>
+ getLocalityFieldBuilder() {
+ if (localityBuilder_ == null) {
+ localityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder>(
+ getLocality(),
+ getParentForChildren(),
+ isClean());
+ locality_ = null;
+ }
+ return localityBuilder_;
+ }
+
+ private java.lang.Object buildVersion_ = "";
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ public java.lang.String getBuildVersion() {
+ java.lang.Object ref = buildVersion_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ buildVersion_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getBuildVersionBytes() {
+ java.lang.Object ref = buildVersion_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ buildVersion_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ public Builder setBuildVersion(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ buildVersion_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ public Builder clearBuildVersion() {
+
+ buildVersion_ = getDefaultInstance().getBuildVersion();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ public Builder setBuildVersionBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ buildVersion_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.Node)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.Node)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.Node DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.Node();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Node getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Node>
+ PARSER = new com.google.protobuf.AbstractParser<Node>() {
+ public Node parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Node(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Node> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Node> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Node getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/NodeOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/NodeOrBuilder.java
new file mode 100644
index 000000000..f2b440a75
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/NodeOrBuilder.java
@@ -0,0 +1,150 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface NodeOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.Node)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ java.lang.String getId();
+ /**
+ * <pre>
+ * An opaque node identifier for the Envoy node. This also provides the local
+ * service node name. It should be set if any of the following features are
+ * used: :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`CDS
+ * &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-node`.
+ * </pre>
+ *
+ * <code>string id = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getIdBytes();
+
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ java.lang.String getCluster();
+ /**
+ * <pre>
+ * Defines the local service cluster name where Envoy is running. Though
+ * optional, it should be set if any of the following features are used:
+ * :ref:`statsd &lt;arch_overview_statistics&gt;`, :ref:`health check cluster
+ * verification &lt;envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name&gt;`,
+ * :ref:`runtime override directory &lt;envoy_api_msg_config.bootstrap.v2.Runtime&gt;`,
+ * :ref:`user agent addition
+ * &lt;envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent&gt;`,
+ * :ref:`HTTP global rate limiting &lt;config_http_filters_rate_limit&gt;`,
+ * :ref:`CDS &lt;config_cluster_manager_cds&gt;`, and :ref:`HTTP tracing
+ * &lt;arch_overview_tracing&gt;`, either in this message or via
+ * :option:`--service-cluster`.
+ * </pre>
+ *
+ * <code>string cluster = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getClusterBytes();
+
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ boolean hasMetadata();
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ com.google.protobuf.Struct getMetadata();
+ /**
+ * <pre>
+ * Opaque metadata extending the node identifier. Envoy will pass this
+ * directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 3;</code>
+ */
+ com.google.protobuf.StructOrBuilder getMetadataOrBuilder();
+
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ boolean hasLocality();
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality();
+ /**
+ * <pre>
+ * Locality specifying where the Envoy instance is running.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 4;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder();
+
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ java.lang.String getBuildVersion();
+ /**
+ * <pre>
+ * This is motivated by informing a management server during canary which
+ * version of Envoy is being tested in a heterogeneous fleet. This will be set
+ * by Envoy in management server RPCs.
+ * </pre>
+ *
+ * <code>string build_version = 5;</code>
+ */
+ com.google.protobuf.ByteString
+ getBuildVersionBytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Pipe.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Pipe.java
new file mode 100644
index 000000000..0913ab91c
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Pipe.java
@@ -0,0 +1,565 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * Protobuf type {@code envoy.api.v2.core.Pipe}
+ */
+public final class Pipe extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.Pipe)
+ PipeOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Pipe.newBuilder() to construct.
+ private Pipe(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Pipe() {
+ path_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Pipe(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ path_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Pipe_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Pipe_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe.class, io.grpc.xds.shaded.envoy.api.v2.core.Pipe.Builder.class);
+ }
+
+ public static final int PATH_FIELD_NUMBER = 1;
+ private volatile java.lang.Object path_;
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getPath() {
+ java.lang.Object ref = path_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ path_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getPathBytes() {
+ java.lang.Object ref = path_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ path_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getPathBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, path_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getPathBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, path_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.Pipe)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe other = (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) obj;
+
+ boolean result = true;
+ result = result && getPath()
+ .equals(other.getPath());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + PATH_FIELD_NUMBER;
+ hash = (53 * hash) + getPath().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.Pipe prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.Pipe}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.Pipe)
+ io.grpc.xds.shaded.envoy.api.v2.core.PipeOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Pipe_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Pipe_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe.class, io.grpc.xds.shaded.envoy.api.v2.core.Pipe.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.Pipe.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ path_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_Pipe_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Pipe getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Pipe build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Pipe buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe result = new io.grpc.xds.shaded.envoy.api.v2.core.Pipe(this);
+ result.path_ = path_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.Pipe) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.Pipe)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.Pipe other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.Pipe.getDefaultInstance()) return this;
+ if (!other.getPath().isEmpty()) {
+ path_ = other.path_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.Pipe parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.Pipe) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object path_ = "";
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getPath() {
+ java.lang.Object ref = path_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ path_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getPathBytes() {
+ java.lang.Object ref = path_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ path_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPath(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ path_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearPath() {
+
+ path_ = getDefaultInstance().getPath();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPathBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ path_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.Pipe)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.Pipe)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.Pipe DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.Pipe();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.Pipe getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Pipe>
+ PARSER = new com.google.protobuf.AbstractParser<Pipe>() {
+ public Pipe parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Pipe(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Pipe> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Pipe> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.Pipe getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/PipeOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/PipeOrBuilder.java
new file mode 100644
index 000000000..f14b036aa
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/PipeOrBuilder.java
@@ -0,0 +1,33 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface PipeOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.Pipe)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getPath();
+ /**
+ * <pre>
+ * Unix Domain Socket path. On Linux, paths starting with '&#64;' will use the
+ * abstract namespace. The starting '&#64;' is replaced by a null byte by Envoy.
+ * Paths starting with '&#64;' will result in an error in environments other than
+ * Linux.
+ * </pre>
+ *
+ * <code>string path = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getPathBytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Protocol.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Protocol.java
new file mode 100644
index 000000000..0cb2ea1bb
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/Protocol.java
@@ -0,0 +1,131 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public final class Protocol {
+ private Protocol() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_TcpProtocolOptions_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_TcpProtocolOptions_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_HttpProtocolOptions_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_HttpProtocolOptions_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_Http1ProtocolOptions_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_Http1ProtocolOptions_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_Http2ProtocolOptions_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_Http2ProtocolOptions_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_core_GrpcProtocolOptions_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_core_GrpcProtocolOptions_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n envoy/api/v2/core/protocol.proto\022\021envo" +
+ "y.api.v2.core\032\036google/protobuf/duration." +
+ "proto\032\036google/protobuf/wrappers.proto\032\027v" +
+ "alidate/validate.proto\"\024\n\022TcpProtocolOpt" +
+ "ions\"F\n\023HttpProtocolOptions\022/\n\014idle_time" +
+ "out\030\001 \001(\0132\031.google.protobuf.Duration\"\210\001\n" +
+ "\024Http1ProtocolOptions\0226\n\022allow_absolute_" +
+ "url\030\001 \001(\0132\032.google.protobuf.BoolValue\022\026\n" +
+ "\016accept_http_10\030\002 \001(\010\022 \n\030default_host_fo" +
+ "r_http_10\030\003 \001(\t\"\372\002\n\024Http2ProtocolOptions" +
+ "\0226\n\020hpack_table_size\030\001 \001(\0132\034.google.prot" +
+ "obuf.UInt32Value\022M\n\026max_concurrent_strea" +
+ "ms\030\002 \001(\0132\034.google.protobuf.UInt32ValueB\017" +
+ "\272\351\300\003\n*\010\030\377\377\377\377\007(\001\022S\n\032initial_stream_window" +
+ "_size\030\003 \001(\0132\034.google.protobuf.UInt32Valu" +
+ "eB\021\272\351\300\003\014*\n\030\377\377\377\377\007(\377\377\003\022W\n\036initial_connecti" +
+ "on_window_size\030\004 \001(\0132\034.google.protobuf.U" +
+ "Int32ValueB\021\272\351\300\003\014*\n\030\377\377\377\377\007(\377\377\003\022\025\n\rallow_c" +
+ "onnect\030\005 \001(\010\022\026\n\016allow_metadata\030\006 \001(\010\"^\n\023" +
+ "GrpcProtocolOptions\022G\n\026http2_protocol_op" +
+ "tions\030\001 \001(\0132\'.envoy.api.v2.core.Http2Pro" +
+ "tocolOptionsB(\n$io.grpc.xds.shaded.envoy" +
+ ".api.v2.coreP\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.protobuf.DurationProto.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_core_TcpProtocolOptions_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_core_TcpProtocolOptions_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_TcpProtocolOptions_descriptor,
+ new java.lang.String[] { });
+ internal_static_envoy_api_v2_core_HttpProtocolOptions_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_core_HttpProtocolOptions_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_HttpProtocolOptions_descriptor,
+ new java.lang.String[] { "IdleTimeout", });
+ internal_static_envoy_api_v2_core_Http1ProtocolOptions_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_core_Http1ProtocolOptions_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_Http1ProtocolOptions_descriptor,
+ new java.lang.String[] { "AllowAbsoluteUrl", "AcceptHttp10", "DefaultHostForHttp10", });
+ internal_static_envoy_api_v2_core_Http2ProtocolOptions_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_envoy_api_v2_core_Http2ProtocolOptions_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_Http2ProtocolOptions_descriptor,
+ new java.lang.String[] { "HpackTableSize", "MaxConcurrentStreams", "InitialStreamWindowSize", "InitialConnectionWindowSize", "AllowConnect", "AllowMetadata", });
+ internal_static_envoy_api_v2_core_GrpcProtocolOptions_descriptor =
+ getDescriptor().getMessageTypes().get(4);
+ internal_static_envoy_api_v2_core_GrpcProtocolOptions_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_core_GrpcProtocolOptions_descriptor,
+ new java.lang.String[] { "Http2ProtocolOptions", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ com.google.protobuf.DurationProto.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RateLimitSettings.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RateLimitSettings.java
new file mode 100644
index 000000000..7533c8de6
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RateLimitSettings.java
@@ -0,0 +1,879 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Rate Limit settings to be applied for discovery requests made by Envoy.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.RateLimitSettings}
+ */
+public final class RateLimitSettings extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.RateLimitSettings)
+ RateLimitSettingsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use RateLimitSettings.newBuilder() to construct.
+ private RateLimitSettings(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private RateLimitSettings() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private RateLimitSettings(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (maxTokens_ != null) {
+ subBuilder = maxTokens_.toBuilder();
+ }
+ maxTokens_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(maxTokens_);
+ maxTokens_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.DoubleValue.Builder subBuilder = null;
+ if (fillRate_ != null) {
+ subBuilder = fillRate_.toBuilder();
+ }
+ fillRate_ = input.readMessage(com.google.protobuf.DoubleValue.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(fillRate_);
+ fillRate_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_RateLimitSettings_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_RateLimitSettings_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.class, io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.Builder.class);
+ }
+
+ public static final int MAX_TOKENS_FIELD_NUMBER = 1;
+ private com.google.protobuf.UInt32Value maxTokens_;
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public boolean hasMaxTokens() {
+ return maxTokens_ != null;
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxTokens() {
+ return maxTokens_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxTokens_;
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxTokensOrBuilder() {
+ return getMaxTokens();
+ }
+
+ public static final int FILL_RATE_FIELD_NUMBER = 2;
+ private com.google.protobuf.DoubleValue fillRate_;
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasFillRate() {
+ return fillRate_ != null;
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DoubleValue getFillRate() {
+ return fillRate_ == null ? com.google.protobuf.DoubleValue.getDefaultInstance() : fillRate_;
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DoubleValueOrBuilder getFillRateOrBuilder() {
+ return getFillRate();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (maxTokens_ != null) {
+ output.writeMessage(1, getMaxTokens());
+ }
+ if (fillRate_ != null) {
+ output.writeMessage(2, getFillRate());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (maxTokens_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getMaxTokens());
+ }
+ if (fillRate_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getFillRate());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings other = (io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings) obj;
+
+ boolean result = true;
+ result = result && (hasMaxTokens() == other.hasMaxTokens());
+ if (hasMaxTokens()) {
+ result = result && getMaxTokens()
+ .equals(other.getMaxTokens());
+ }
+ result = result && (hasFillRate() == other.hasFillRate());
+ if (hasFillRate()) {
+ result = result && getFillRate()
+ .equals(other.getFillRate());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasMaxTokens()) {
+ hash = (37 * hash) + MAX_TOKENS_FIELD_NUMBER;
+ hash = (53 * hash) + getMaxTokens().hashCode();
+ }
+ if (hasFillRate()) {
+ hash = (37 * hash) + FILL_RATE_FIELD_NUMBER;
+ hash = (53 * hash) + getFillRate().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Rate Limit settings to be applied for discovery requests made by Envoy.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.RateLimitSettings}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.RateLimitSettings)
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettingsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_RateLimitSettings_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_RateLimitSettings_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.class, io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (maxTokensBuilder_ == null) {
+ maxTokens_ = null;
+ } else {
+ maxTokens_ = null;
+ maxTokensBuilder_ = null;
+ }
+ if (fillRateBuilder_ == null) {
+ fillRate_ = null;
+ } else {
+ fillRate_ = null;
+ fillRateBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.ConfigSourceOuterClass.internal_static_envoy_api_v2_core_RateLimitSettings_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings result = new io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings(this);
+ if (maxTokensBuilder_ == null) {
+ result.maxTokens_ = maxTokens_;
+ } else {
+ result.maxTokens_ = maxTokensBuilder_.build();
+ }
+ if (fillRateBuilder_ == null) {
+ result.fillRate_ = fillRate_;
+ } else {
+ result.fillRate_ = fillRateBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings.getDefaultInstance()) return this;
+ if (other.hasMaxTokens()) {
+ mergeMaxTokens(other.getMaxTokens());
+ }
+ if (other.hasFillRate()) {
+ mergeFillRate(other.getFillRate());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value maxTokens_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> maxTokensBuilder_;
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public boolean hasMaxTokens() {
+ return maxTokensBuilder_ != null || maxTokens_ != null;
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value getMaxTokens() {
+ if (maxTokensBuilder_ == null) {
+ return maxTokens_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : maxTokens_;
+ } else {
+ return maxTokensBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public Builder setMaxTokens(com.google.protobuf.UInt32Value value) {
+ if (maxTokensBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ maxTokens_ = value;
+ onChanged();
+ } else {
+ maxTokensBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public Builder setMaxTokens(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (maxTokensBuilder_ == null) {
+ maxTokens_ = builderForValue.build();
+ onChanged();
+ } else {
+ maxTokensBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public Builder mergeMaxTokens(com.google.protobuf.UInt32Value value) {
+ if (maxTokensBuilder_ == null) {
+ if (maxTokens_ != null) {
+ maxTokens_ =
+ com.google.protobuf.UInt32Value.newBuilder(maxTokens_).mergeFrom(value).buildPartial();
+ } else {
+ maxTokens_ = value;
+ }
+ onChanged();
+ } else {
+ maxTokensBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public Builder clearMaxTokens() {
+ if (maxTokensBuilder_ == null) {
+ maxTokens_ = null;
+ onChanged();
+ } else {
+ maxTokens_ = null;
+ maxTokensBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getMaxTokensBuilder() {
+
+ onChanged();
+ return getMaxTokensFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getMaxTokensOrBuilder() {
+ if (maxTokensBuilder_ != null) {
+ return maxTokensBuilder_.getMessageOrBuilder();
+ } else {
+ return maxTokens_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : maxTokens_;
+ }
+ }
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getMaxTokensFieldBuilder() {
+ if (maxTokensBuilder_ == null) {
+ maxTokensBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getMaxTokens(),
+ getParentForChildren(),
+ isClean());
+ maxTokens_ = null;
+ }
+ return maxTokensBuilder_;
+ }
+
+ private com.google.protobuf.DoubleValue fillRate_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.DoubleValue, com.google.protobuf.DoubleValue.Builder, com.google.protobuf.DoubleValueOrBuilder> fillRateBuilder_;
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasFillRate() {
+ return fillRateBuilder_ != null || fillRate_ != null;
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DoubleValue getFillRate() {
+ if (fillRateBuilder_ == null) {
+ return fillRate_ == null ? com.google.protobuf.DoubleValue.getDefaultInstance() : fillRate_;
+ } else {
+ return fillRateBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setFillRate(com.google.protobuf.DoubleValue value) {
+ if (fillRateBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ fillRate_ = value;
+ onChanged();
+ } else {
+ fillRateBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setFillRate(
+ com.google.protobuf.DoubleValue.Builder builderForValue) {
+ if (fillRateBuilder_ == null) {
+ fillRate_ = builderForValue.build();
+ onChanged();
+ } else {
+ fillRateBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeFillRate(com.google.protobuf.DoubleValue value) {
+ if (fillRateBuilder_ == null) {
+ if (fillRate_ != null) {
+ fillRate_ =
+ com.google.protobuf.DoubleValue.newBuilder(fillRate_).mergeFrom(value).buildPartial();
+ } else {
+ fillRate_ = value;
+ }
+ onChanged();
+ } else {
+ fillRateBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearFillRate() {
+ if (fillRateBuilder_ == null) {
+ fillRate_ = null;
+ onChanged();
+ } else {
+ fillRate_ = null;
+ fillRateBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DoubleValue.Builder getFillRateBuilder() {
+
+ onChanged();
+ return getFillRateFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.DoubleValueOrBuilder getFillRateOrBuilder() {
+ if (fillRateBuilder_ != null) {
+ return fillRateBuilder_.getMessageOrBuilder();
+ } else {
+ return fillRate_ == null ?
+ com.google.protobuf.DoubleValue.getDefaultInstance() : fillRate_;
+ }
+ }
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.DoubleValue, com.google.protobuf.DoubleValue.Builder, com.google.protobuf.DoubleValueOrBuilder>
+ getFillRateFieldBuilder() {
+ if (fillRateBuilder_ == null) {
+ fillRateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.DoubleValue, com.google.protobuf.DoubleValue.Builder, com.google.protobuf.DoubleValueOrBuilder>(
+ getFillRate(),
+ getParentForChildren(),
+ isClean());
+ fillRate_ = null;
+ }
+ return fillRateBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.RateLimitSettings)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.RateLimitSettings)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<RateLimitSettings>
+ PARSER = new com.google.protobuf.AbstractParser<RateLimitSettings>() {
+ public RateLimitSettings parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new RateLimitSettings(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<RateLimitSettings> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<RateLimitSettings> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RateLimitSettings getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RateLimitSettingsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RateLimitSettingsOrBuilder.java
new file mode 100644
index 000000000..10e44f022
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RateLimitSettingsOrBuilder.java
@@ -0,0 +1,65 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/config_source.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface RateLimitSettingsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.RateLimitSettings)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ boolean hasMaxTokens();
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ com.google.protobuf.UInt32Value getMaxTokens();
+ /**
+ * <pre>
+ * Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ * default value of 100 will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value max_tokens = 1;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getMaxTokensOrBuilder();
+
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasFillRate();
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DoubleValue getFillRate();
+ /**
+ * <pre>
+ * Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ * per second will be used.
+ * </pre>
+ *
+ * <code>.google.protobuf.DoubleValue fill_rate = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.DoubleValueOrBuilder getFillRateOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RequestMethod.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RequestMethod.java
new file mode 100644
index 000000000..83ec4d91e
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RequestMethod.java
@@ -0,0 +1,170 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * HTTP request method.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.api.v2.core.RequestMethod}
+ */
+public enum RequestMethod
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <code>METHOD_UNSPECIFIED = 0;</code>
+ */
+ METHOD_UNSPECIFIED(0),
+ /**
+ * <code>GET = 1;</code>
+ */
+ GET(1),
+ /**
+ * <code>HEAD = 2;</code>
+ */
+ HEAD(2),
+ /**
+ * <code>POST = 3;</code>
+ */
+ POST(3),
+ /**
+ * <code>PUT = 4;</code>
+ */
+ PUT(4),
+ /**
+ * <code>DELETE = 5;</code>
+ */
+ DELETE(5),
+ /**
+ * <code>CONNECT = 6;</code>
+ */
+ CONNECT(6),
+ /**
+ * <code>OPTIONS = 7;</code>
+ */
+ OPTIONS(7),
+ /**
+ * <code>TRACE = 8;</code>
+ */
+ TRACE(8),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <code>METHOD_UNSPECIFIED = 0;</code>
+ */
+ public static final int METHOD_UNSPECIFIED_VALUE = 0;
+ /**
+ * <code>GET = 1;</code>
+ */
+ public static final int GET_VALUE = 1;
+ /**
+ * <code>HEAD = 2;</code>
+ */
+ public static final int HEAD_VALUE = 2;
+ /**
+ * <code>POST = 3;</code>
+ */
+ public static final int POST_VALUE = 3;
+ /**
+ * <code>PUT = 4;</code>
+ */
+ public static final int PUT_VALUE = 4;
+ /**
+ * <code>DELETE = 5;</code>
+ */
+ public static final int DELETE_VALUE = 5;
+ /**
+ * <code>CONNECT = 6;</code>
+ */
+ public static final int CONNECT_VALUE = 6;
+ /**
+ * <code>OPTIONS = 7;</code>
+ */
+ public static final int OPTIONS_VALUE = 7;
+ /**
+ * <code>TRACE = 8;</code>
+ */
+ public static final int TRACE_VALUE = 8;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static RequestMethod valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static RequestMethod forNumber(int value) {
+ switch (value) {
+ case 0: return METHOD_UNSPECIFIED;
+ case 1: return GET;
+ case 2: return HEAD;
+ case 3: return POST;
+ case 4: return PUT;
+ case 5: return DELETE;
+ case 6: return CONNECT;
+ case 7: return OPTIONS;
+ case 8: return TRACE;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<RequestMethod>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ RequestMethod> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<RequestMethod>() {
+ public RequestMethod findValueByNumber(int number) {
+ return RequestMethod.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor().getEnumTypes().get(1);
+ }
+
+ private static final RequestMethod[] VALUES = values();
+
+ public static RequestMethod valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private RequestMethod(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.core.RequestMethod)
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RoutingPriority.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RoutingPriority.java
new file mode 100644
index 000000000..42f6aa043
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RoutingPriority.java
@@ -0,0 +1,113 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Envoy supports :ref:`upstream priority routing
+ * &lt;arch_overview_http_routing_priority&gt;` both at the route and the virtual
+ * cluster level. The current priority implementation uses different connection
+ * pool and circuit breaking settings for each priority level. This means that
+ * even for HTTP/2 requests, two physical connections will be used to an
+ * upstream host. In the future Envoy will likely support true HTTP/2 priority
+ * over a single upstream connection.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.api.v2.core.RoutingPriority}
+ */
+public enum RoutingPriority
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <code>DEFAULT = 0;</code>
+ */
+ DEFAULT(0),
+ /**
+ * <code>HIGH = 1;</code>
+ */
+ HIGH(1),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <code>DEFAULT = 0;</code>
+ */
+ public static final int DEFAULT_VALUE = 0;
+ /**
+ * <code>HIGH = 1;</code>
+ */
+ public static final int HIGH_VALUE = 1;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static RoutingPriority valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static RoutingPriority forNumber(int value) {
+ switch (value) {
+ case 0: return DEFAULT;
+ case 1: return HIGH;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<RoutingPriority>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ RoutingPriority> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<RoutingPriority>() {
+ public RoutingPriority findValueByNumber(int number) {
+ return RoutingPriority.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final RoutingPriority[] VALUES = values();
+
+ public static RoutingPriority valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private RoutingPriority(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.core.RoutingPriority)
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeFractionalPercent.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeFractionalPercent.java
new file mode 100644
index 000000000..e131309cc
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeFractionalPercent.java
@@ -0,0 +1,783 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Runtime derived FractionalPercent with defaults for when the numerator or denominator is not
+ * specified via a runtime key.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.RuntimeFractionalPercent}
+ */
+public final class RuntimeFractionalPercent extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.RuntimeFractionalPercent)
+ RuntimeFractionalPercentOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use RuntimeFractionalPercent.newBuilder() to construct.
+ private RuntimeFractionalPercent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private RuntimeFractionalPercent() {
+ runtimeKey_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private RuntimeFractionalPercent(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder subBuilder = null;
+ if (defaultValue_ != null) {
+ subBuilder = defaultValue_.toBuilder();
+ }
+ defaultValue_ = input.readMessage(io.grpc.xds.shaded.envoy.type.FractionalPercent.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(defaultValue_);
+ defaultValue_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ runtimeKey_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeFractionalPercent_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeFractionalPercent_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent.class, io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent.Builder.class);
+ }
+
+ public static final int DEFAULT_VALUE_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.type.FractionalPercent defaultValue_;
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasDefaultValue() {
+ return defaultValue_ != null;
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent getDefaultValue() {
+ return defaultValue_ == null ? io.grpc.xds.shaded.envoy.type.FractionalPercent.getDefaultInstance() : defaultValue_;
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder getDefaultValueOrBuilder() {
+ return getDefaultValue();
+ }
+
+ public static final int RUNTIME_KEY_FIELD_NUMBER = 2;
+ private volatile java.lang.Object runtimeKey_;
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ public java.lang.String getRuntimeKey() {
+ java.lang.Object ref = runtimeKey_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ runtimeKey_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getRuntimeKeyBytes() {
+ java.lang.Object ref = runtimeKey_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ runtimeKey_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (defaultValue_ != null) {
+ output.writeMessage(1, getDefaultValue());
+ }
+ if (!getRuntimeKeyBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, runtimeKey_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (defaultValue_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getDefaultValue());
+ }
+ if (!getRuntimeKeyBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, runtimeKey_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent other = (io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent) obj;
+
+ boolean result = true;
+ result = result && (hasDefaultValue() == other.hasDefaultValue());
+ if (hasDefaultValue()) {
+ result = result && getDefaultValue()
+ .equals(other.getDefaultValue());
+ }
+ result = result && getRuntimeKey()
+ .equals(other.getRuntimeKey());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasDefaultValue()) {
+ hash = (37 * hash) + DEFAULT_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + getDefaultValue().hashCode();
+ }
+ hash = (37 * hash) + RUNTIME_KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getRuntimeKey().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Runtime derived FractionalPercent with defaults for when the numerator or denominator is not
+ * specified via a runtime key.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.RuntimeFractionalPercent}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.RuntimeFractionalPercent)
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercentOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeFractionalPercent_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeFractionalPercent_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent.class, io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (defaultValueBuilder_ == null) {
+ defaultValue_ = null;
+ } else {
+ defaultValue_ = null;
+ defaultValueBuilder_ = null;
+ }
+ runtimeKey_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeFractionalPercent_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent result = new io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent(this);
+ if (defaultValueBuilder_ == null) {
+ result.defaultValue_ = defaultValue_;
+ } else {
+ result.defaultValue_ = defaultValueBuilder_.build();
+ }
+ result.runtimeKey_ = runtimeKey_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent.getDefaultInstance()) return this;
+ if (other.hasDefaultValue()) {
+ mergeDefaultValue(other.getDefaultValue());
+ }
+ if (!other.getRuntimeKey().isEmpty()) {
+ runtimeKey_ = other.runtimeKey_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.type.FractionalPercent defaultValue_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.FractionalPercent, io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder, io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder> defaultValueBuilder_;
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasDefaultValue() {
+ return defaultValueBuilder_ != null || defaultValue_ != null;
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent getDefaultValue() {
+ if (defaultValueBuilder_ == null) {
+ return defaultValue_ == null ? io.grpc.xds.shaded.envoy.type.FractionalPercent.getDefaultInstance() : defaultValue_;
+ } else {
+ return defaultValueBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDefaultValue(io.grpc.xds.shaded.envoy.type.FractionalPercent value) {
+ if (defaultValueBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ defaultValue_ = value;
+ onChanged();
+ } else {
+ defaultValueBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDefaultValue(
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder builderForValue) {
+ if (defaultValueBuilder_ == null) {
+ defaultValue_ = builderForValue.build();
+ onChanged();
+ } else {
+ defaultValueBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeDefaultValue(io.grpc.xds.shaded.envoy.type.FractionalPercent value) {
+ if (defaultValueBuilder_ == null) {
+ if (defaultValue_ != null) {
+ defaultValue_ =
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.newBuilder(defaultValue_).mergeFrom(value).buildPartial();
+ } else {
+ defaultValue_ = value;
+ }
+ onChanged();
+ } else {
+ defaultValueBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearDefaultValue() {
+ if (defaultValueBuilder_ == null) {
+ defaultValue_ = null;
+ onChanged();
+ } else {
+ defaultValue_ = null;
+ defaultValueBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder getDefaultValueBuilder() {
+
+ onChanged();
+ return getDefaultValueFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder getDefaultValueOrBuilder() {
+ if (defaultValueBuilder_ != null) {
+ return defaultValueBuilder_.getMessageOrBuilder();
+ } else {
+ return defaultValue_ == null ?
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.getDefaultInstance() : defaultValue_;
+ }
+ }
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.FractionalPercent, io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder, io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder>
+ getDefaultValueFieldBuilder() {
+ if (defaultValueBuilder_ == null) {
+ defaultValueBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.type.FractionalPercent, io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder, io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder>(
+ getDefaultValue(),
+ getParentForChildren(),
+ isClean());
+ defaultValue_ = null;
+ }
+ return defaultValueBuilder_;
+ }
+
+ private java.lang.Object runtimeKey_ = "";
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ public java.lang.String getRuntimeKey() {
+ java.lang.Object ref = runtimeKey_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ runtimeKey_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getRuntimeKeyBytes() {
+ java.lang.Object ref = runtimeKey_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ runtimeKey_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ public Builder setRuntimeKey(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ runtimeKey_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ public Builder clearRuntimeKey() {
+
+ runtimeKey_ = getDefaultInstance().getRuntimeKey();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ public Builder setRuntimeKeyBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ runtimeKey_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.RuntimeFractionalPercent)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.RuntimeFractionalPercent)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<RuntimeFractionalPercent>
+ PARSER = new com.google.protobuf.AbstractParser<RuntimeFractionalPercent>() {
+ public RuntimeFractionalPercent parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new RuntimeFractionalPercent(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<RuntimeFractionalPercent> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<RuntimeFractionalPercent> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RuntimeFractionalPercent getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeFractionalPercentOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeFractionalPercentOrBuilder.java
new file mode 100644
index 000000000..f625d95bf
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeFractionalPercentOrBuilder.java
@@ -0,0 +1,52 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface RuntimeFractionalPercentOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.RuntimeFractionalPercent)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasDefaultValue();
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.type.FractionalPercent getDefaultValue();
+ /**
+ * <pre>
+ * Default value if the runtime value's for the numerator/denominator keys are not available.
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent default_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder getDefaultValueOrBuilder();
+
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ java.lang.String getRuntimeKey();
+ /**
+ * <pre>
+ * Runtime key for a YAML representation of a FractionalPercent.
+ * </pre>
+ *
+ * <code>string runtime_key = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getRuntimeKeyBytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeUInt32.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeUInt32.java
new file mode 100644
index 000000000..8bbc09d24
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeUInt32.java
@@ -0,0 +1,626 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Runtime derived uint32 with a default when not specified.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.RuntimeUInt32}
+ */
+public final class RuntimeUInt32 extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.RuntimeUInt32)
+ RuntimeUInt32OrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use RuntimeUInt32.newBuilder() to construct.
+ private RuntimeUInt32(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private RuntimeUInt32() {
+ defaultValue_ = 0;
+ runtimeKey_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private RuntimeUInt32(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 16: {
+
+ defaultValue_ = input.readUInt32();
+ break;
+ }
+ case 26: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ runtimeKey_ = s;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeUInt32_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeUInt32_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32.class, io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32.Builder.class);
+ }
+
+ public static final int DEFAULT_VALUE_FIELD_NUMBER = 2;
+ private int defaultValue_;
+ /**
+ * <pre>
+ * Default value if runtime value is not available.
+ * </pre>
+ *
+ * <code>uint32 default_value = 2;</code>
+ */
+ public int getDefaultValue() {
+ return defaultValue_;
+ }
+
+ public static final int RUNTIME_KEY_FIELD_NUMBER = 3;
+ private volatile java.lang.Object runtimeKey_;
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getRuntimeKey() {
+ java.lang.Object ref = runtimeKey_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ runtimeKey_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getRuntimeKeyBytes() {
+ java.lang.Object ref = runtimeKey_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ runtimeKey_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (defaultValue_ != 0) {
+ output.writeUInt32(2, defaultValue_);
+ }
+ if (!getRuntimeKeyBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, runtimeKey_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (defaultValue_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(2, defaultValue_);
+ }
+ if (!getRuntimeKeyBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, runtimeKey_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 other = (io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32) obj;
+
+ boolean result = true;
+ result = result && (getDefaultValue()
+ == other.getDefaultValue());
+ result = result && getRuntimeKey()
+ .equals(other.getRuntimeKey());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + DEFAULT_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + getDefaultValue();
+ hash = (37 * hash) + RUNTIME_KEY_FIELD_NUMBER;
+ hash = (53 * hash) + getRuntimeKey().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Runtime derived uint32 with a default when not specified.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.RuntimeUInt32}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.RuntimeUInt32)
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32OrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeUInt32_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeUInt32_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32.class, io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ defaultValue_ = 0;
+
+ runtimeKey_ = "";
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_RuntimeUInt32_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 result = new io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32(this);
+ result.defaultValue_ = defaultValue_;
+ result.runtimeKey_ = runtimeKey_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32.getDefaultInstance()) return this;
+ if (other.getDefaultValue() != 0) {
+ setDefaultValue(other.getDefaultValue());
+ }
+ if (!other.getRuntimeKey().isEmpty()) {
+ runtimeKey_ = other.runtimeKey_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private int defaultValue_ ;
+ /**
+ * <pre>
+ * Default value if runtime value is not available.
+ * </pre>
+ *
+ * <code>uint32 default_value = 2;</code>
+ */
+ public int getDefaultValue() {
+ return defaultValue_;
+ }
+ /**
+ * <pre>
+ * Default value if runtime value is not available.
+ * </pre>
+ *
+ * <code>uint32 default_value = 2;</code>
+ */
+ public Builder setDefaultValue(int value) {
+
+ defaultValue_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Default value if runtime value is not available.
+ * </pre>
+ *
+ * <code>uint32 default_value = 2;</code>
+ */
+ public Builder clearDefaultValue() {
+
+ defaultValue_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object runtimeKey_ = "";
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getRuntimeKey() {
+ java.lang.Object ref = runtimeKey_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ runtimeKey_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getRuntimeKeyBytes() {
+ java.lang.Object ref = runtimeKey_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ runtimeKey_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setRuntimeKey(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ runtimeKey_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearRuntimeKey() {
+
+ runtimeKey_ = getDefaultInstance().getRuntimeKey();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setRuntimeKeyBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ runtimeKey_ = value;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.RuntimeUInt32)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.RuntimeUInt32)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<RuntimeUInt32>
+ PARSER = new com.google.protobuf.AbstractParser<RuntimeUInt32>() {
+ public RuntimeUInt32 parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new RuntimeUInt32(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<RuntimeUInt32> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<RuntimeUInt32> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.RuntimeUInt32 getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeUInt32OrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeUInt32OrBuilder.java
new file mode 100644
index 000000000..dbdcb1059
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/RuntimeUInt32OrBuilder.java
@@ -0,0 +1,36 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface RuntimeUInt32OrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.RuntimeUInt32)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Default value if runtime value is not available.
+ * </pre>
+ *
+ * <code>uint32 default_value = 2;</code>
+ */
+ int getDefaultValue();
+
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getRuntimeKey();
+ /**
+ * <pre>
+ * Runtime key to get value for comparison. This value is used if defined.
+ * </pre>
+ *
+ * <code>string runtime_key = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getRuntimeKeyBytes();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketAddress.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketAddress.java
new file mode 100644
index 000000000..c015326e3
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketAddress.java
@@ -0,0 +1,1402 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * Protobuf type {@code envoy.api.v2.core.SocketAddress}
+ */
+public final class SocketAddress extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.SocketAddress)
+ SocketAddressOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use SocketAddress.newBuilder() to construct.
+ private SocketAddress(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private SocketAddress() {
+ protocol_ = 0;
+ address_ = "";
+ resolverName_ = "";
+ ipv4Compat_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SocketAddress(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ int rawValue = input.readEnum();
+
+ protocol_ = rawValue;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ address_ = s;
+ break;
+ }
+ case 24: {
+ portSpecifierCase_ = 3;
+ portSpecifier_ = input.readUInt32();
+ break;
+ }
+ case 34: {
+ java.lang.String s = input.readStringRequireUtf8();
+ portSpecifierCase_ = 4;
+ portSpecifier_ = s;
+ break;
+ }
+ case 42: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ resolverName_ = s;
+ break;
+ }
+ case 48: {
+
+ ipv4Compat_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_SocketAddress_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_SocketAddress_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.class, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder.class);
+ }
+
+ /**
+ * Protobuf enum {@code envoy.api.v2.core.SocketAddress.Protocol}
+ */
+ public enum Protocol
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <code>TCP = 0;</code>
+ */
+ TCP(0),
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>UDP = 1;</code>
+ */
+ UDP(1),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <code>TCP = 0;</code>
+ */
+ public static final int TCP_VALUE = 0;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>UDP = 1;</code>
+ */
+ public static final int UDP_VALUE = 1;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static Protocol valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static Protocol forNumber(int value) {
+ switch (value) {
+ case 0: return TCP;
+ case 1: return UDP;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<Protocol>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ Protocol> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<Protocol>() {
+ public Protocol findValueByNumber(int number) {
+ return Protocol.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final Protocol[] VALUES = values();
+
+ public static Protocol valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private Protocol(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.core.SocketAddress.Protocol)
+ }
+
+ private int portSpecifierCase_ = 0;
+ private java.lang.Object portSpecifier_;
+ public enum PortSpecifierCase
+ implements com.google.protobuf.Internal.EnumLite {
+ PORT_VALUE(3),
+ NAMED_PORT(4),
+ PORTSPECIFIER_NOT_SET(0);
+ private final int value;
+ private PortSpecifierCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static PortSpecifierCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static PortSpecifierCase forNumber(int value) {
+ switch (value) {
+ case 3: return PORT_VALUE;
+ case 4: return NAMED_PORT;
+ case 0: return PORTSPECIFIER_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public PortSpecifierCase
+ getPortSpecifierCase() {
+ return PortSpecifierCase.forNumber(
+ portSpecifierCase_);
+ }
+
+ public static final int PROTOCOL_FIELD_NUMBER = 1;
+ private int protocol_;
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getProtocolValue() {
+ return protocol_;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol getProtocol() {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol result = io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol.valueOf(protocol_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol.UNRECOGNIZED : result;
+ }
+
+ public static final int ADDRESS_FIELD_NUMBER = 2;
+ private volatile java.lang.Object address_;
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getAddress() {
+ java.lang.Object ref = address_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ address_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getAddressBytes() {
+ java.lang.Object ref = address_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ address_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int PORT_VALUE_FIELD_NUMBER = 3;
+ /**
+ * <code>uint32 port_value = 3 [(.validate.rules) = { ... }</code>
+ */
+ public int getPortValue() {
+ if (portSpecifierCase_ == 3) {
+ return (java.lang.Integer) portSpecifier_;
+ }
+ return 0;
+ }
+
+ public static final int NAMED_PORT_FIELD_NUMBER = 4;
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ public java.lang.String getNamedPort() {
+ java.lang.Object ref = "";
+ if (portSpecifierCase_ == 4) {
+ ref = portSpecifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (portSpecifierCase_ == 4) {
+ portSpecifier_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNamedPortBytes() {
+ java.lang.Object ref = "";
+ if (portSpecifierCase_ == 4) {
+ ref = portSpecifier_;
+ }
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (portSpecifierCase_ == 4) {
+ portSpecifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int RESOLVER_NAME_FIELD_NUMBER = 5;
+ private volatile java.lang.Object resolverName_;
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ public java.lang.String getResolverName() {
+ java.lang.Object ref = resolverName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ resolverName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResolverNameBytes() {
+ java.lang.Object ref = resolverName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ resolverName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int IPV4_COMPAT_FIELD_NUMBER = 6;
+ private boolean ipv4Compat_;
+ /**
+ * <pre>
+ * When binding to an IPv6 address above, this enables `IPv4 compatibity
+ * &lt;https://tools.ietf.org/html/rfc3493#page-11&gt;`_. Binding to ``::`` will
+ * allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
+ * IPv6 space as ``::FFFF:&lt;IPv4-address&gt;``.
+ * </pre>
+ *
+ * <code>bool ipv4_compat = 6;</code>
+ */
+ public boolean getIpv4Compat() {
+ return ipv4Compat_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (protocol_ != io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol.TCP.getNumber()) {
+ output.writeEnum(1, protocol_);
+ }
+ if (!getAddressBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, address_);
+ }
+ if (portSpecifierCase_ == 3) {
+ output.writeUInt32(
+ 3, (int)((java.lang.Integer) portSpecifier_));
+ }
+ if (portSpecifierCase_ == 4) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, portSpecifier_);
+ }
+ if (!getResolverNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 5, resolverName_);
+ }
+ if (ipv4Compat_ != false) {
+ output.writeBool(6, ipv4Compat_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (protocol_ != io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol.TCP.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(1, protocol_);
+ }
+ if (!getAddressBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, address_);
+ }
+ if (portSpecifierCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(
+ 3, (int)((java.lang.Integer) portSpecifier_));
+ }
+ if (portSpecifierCase_ == 4) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, portSpecifier_);
+ }
+ if (!getResolverNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, resolverName_);
+ }
+ if (ipv4Compat_ != false) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(6, ipv4Compat_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress other = (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) obj;
+
+ boolean result = true;
+ result = result && protocol_ == other.protocol_;
+ result = result && getAddress()
+ .equals(other.getAddress());
+ result = result && getResolverName()
+ .equals(other.getResolverName());
+ result = result && (getIpv4Compat()
+ == other.getIpv4Compat());
+ result = result && getPortSpecifierCase().equals(
+ other.getPortSpecifierCase());
+ if (!result) return false;
+ switch (portSpecifierCase_) {
+ case 3:
+ result = result && (getPortValue()
+ == other.getPortValue());
+ break;
+ case 4:
+ result = result && getNamedPort()
+ .equals(other.getNamedPort());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + PROTOCOL_FIELD_NUMBER;
+ hash = (53 * hash) + protocol_;
+ hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
+ hash = (53 * hash) + getAddress().hashCode();
+ hash = (37 * hash) + RESOLVER_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getResolverName().hashCode();
+ hash = (37 * hash) + IPV4_COMPAT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getIpv4Compat());
+ switch (portSpecifierCase_) {
+ case 3:
+ hash = (37 * hash) + PORT_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + getPortValue();
+ break;
+ case 4:
+ hash = (37 * hash) + NAMED_PORT_FIELD_NUMBER;
+ hash = (53 * hash) + getNamedPort().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.SocketAddress}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.SocketAddress)
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddressOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_SocketAddress_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_SocketAddress_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.class, io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ protocol_ = 0;
+
+ address_ = "";
+
+ resolverName_ = "";
+
+ ipv4Compat_ = false;
+
+ portSpecifierCase_ = 0;
+ portSpecifier_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_SocketAddress_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress result = new io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress(this);
+ result.protocol_ = protocol_;
+ result.address_ = address_;
+ if (portSpecifierCase_ == 3) {
+ result.portSpecifier_ = portSpecifier_;
+ }
+ if (portSpecifierCase_ == 4) {
+ result.portSpecifier_ = portSpecifier_;
+ }
+ result.resolverName_ = resolverName_;
+ result.ipv4Compat_ = ipv4Compat_;
+ result.portSpecifierCase_ = portSpecifierCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.getDefaultInstance()) return this;
+ if (other.protocol_ != 0) {
+ setProtocolValue(other.getProtocolValue());
+ }
+ if (!other.getAddress().isEmpty()) {
+ address_ = other.address_;
+ onChanged();
+ }
+ if (!other.getResolverName().isEmpty()) {
+ resolverName_ = other.resolverName_;
+ onChanged();
+ }
+ if (other.getIpv4Compat() != false) {
+ setIpv4Compat(other.getIpv4Compat());
+ }
+ switch (other.getPortSpecifierCase()) {
+ case PORT_VALUE: {
+ setPortValue(other.getPortValue());
+ break;
+ }
+ case NAMED_PORT: {
+ portSpecifierCase_ = 4;
+ portSpecifier_ = other.portSpecifier_;
+ onChanged();
+ break;
+ }
+ case PORTSPECIFIER_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int portSpecifierCase_ = 0;
+ private java.lang.Object portSpecifier_;
+ public PortSpecifierCase
+ getPortSpecifierCase() {
+ return PortSpecifierCase.forNumber(
+ portSpecifierCase_);
+ }
+
+ public Builder clearPortSpecifier() {
+ portSpecifierCase_ = 0;
+ portSpecifier_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private int protocol_ = 0;
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getProtocolValue() {
+ return protocol_;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setProtocolValue(int value) {
+ protocol_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol getProtocol() {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol result = io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol.valueOf(protocol_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol.UNRECOGNIZED : result;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setProtocol(io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ protocol_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearProtocol() {
+
+ protocol_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object address_ = "";
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getAddress() {
+ java.lang.Object ref = address_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ address_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getAddressBytes() {
+ java.lang.Object ref = address_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ address_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setAddress(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ address_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearAddress() {
+
+ address_ = getDefaultInstance().getAddress();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setAddressBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ address_ = value;
+ onChanged();
+ return this;
+ }
+
+ /**
+ * <code>uint32 port_value = 3 [(.validate.rules) = { ... }</code>
+ */
+ public int getPortValue() {
+ if (portSpecifierCase_ == 3) {
+ return (java.lang.Integer) portSpecifier_;
+ }
+ return 0;
+ }
+ /**
+ * <code>uint32 port_value = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPortValue(int value) {
+ portSpecifierCase_ = 3;
+ portSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>uint32 port_value = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearPortValue() {
+ if (portSpecifierCase_ == 3) {
+ portSpecifierCase_ = 0;
+ portSpecifier_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ public java.lang.String getNamedPort() {
+ java.lang.Object ref = "";
+ if (portSpecifierCase_ == 4) {
+ ref = portSpecifier_;
+ }
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (portSpecifierCase_ == 4) {
+ portSpecifier_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNamedPortBytes() {
+ java.lang.Object ref = "";
+ if (portSpecifierCase_ == 4) {
+ ref = portSpecifier_;
+ }
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ if (portSpecifierCase_ == 4) {
+ portSpecifier_ = b;
+ }
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ public Builder setNamedPort(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ portSpecifierCase_ = 4;
+ portSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ public Builder clearNamedPort() {
+ if (portSpecifierCase_ == 4) {
+ portSpecifierCase_ = 0;
+ portSpecifier_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ public Builder setNamedPortBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ portSpecifierCase_ = 4;
+ portSpecifier_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object resolverName_ = "";
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ public java.lang.String getResolverName() {
+ java.lang.Object ref = resolverName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ resolverName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ public com.google.protobuf.ByteString
+ getResolverNameBytes() {
+ java.lang.Object ref = resolverName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ resolverName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ public Builder setResolverName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ resolverName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ public Builder clearResolverName() {
+
+ resolverName_ = getDefaultInstance().getResolverName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ public Builder setResolverNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ resolverName_ = value;
+ onChanged();
+ return this;
+ }
+
+ private boolean ipv4Compat_ ;
+ /**
+ * <pre>
+ * When binding to an IPv6 address above, this enables `IPv4 compatibity
+ * &lt;https://tools.ietf.org/html/rfc3493#page-11&gt;`_. Binding to ``::`` will
+ * allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
+ * IPv6 space as ``::FFFF:&lt;IPv4-address&gt;``.
+ * </pre>
+ *
+ * <code>bool ipv4_compat = 6;</code>
+ */
+ public boolean getIpv4Compat() {
+ return ipv4Compat_;
+ }
+ /**
+ * <pre>
+ * When binding to an IPv6 address above, this enables `IPv4 compatibity
+ * &lt;https://tools.ietf.org/html/rfc3493#page-11&gt;`_. Binding to ``::`` will
+ * allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
+ * IPv6 space as ``::FFFF:&lt;IPv4-address&gt;``.
+ * </pre>
+ *
+ * <code>bool ipv4_compat = 6;</code>
+ */
+ public Builder setIpv4Compat(boolean value) {
+
+ ipv4Compat_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * When binding to an IPv6 address above, this enables `IPv4 compatibity
+ * &lt;https://tools.ietf.org/html/rfc3493#page-11&gt;`_. Binding to ``::`` will
+ * allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
+ * IPv6 space as ``::FFFF:&lt;IPv4-address&gt;``.
+ * </pre>
+ *
+ * <code>bool ipv4_compat = 6;</code>
+ */
+ public Builder clearIpv4Compat() {
+
+ ipv4Compat_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.SocketAddress)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.SocketAddress)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<SocketAddress>
+ PARSER = new com.google.protobuf.AbstractParser<SocketAddress>() {
+ public SocketAddress parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SocketAddress(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<SocketAddress> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<SocketAddress> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketAddressOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketAddressOrBuilder.java
new file mode 100644
index 000000000..730e2313f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketAddressOrBuilder.java
@@ -0,0 +1,121 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface SocketAddressOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.SocketAddress)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ int getProtocolValue();
+ /**
+ * <code>.envoy.api.v2.core.SocketAddress.Protocol protocol = 1 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.Protocol getProtocol();
+
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getAddress();
+ /**
+ * <pre>
+ * The address for this socket. :ref:`Listeners &lt;config_listeners&gt;` will bind
+ * to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ * to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ * It is possible to distinguish a Listener address via the prefix/suffix matching
+ * in :ref:`FilterChainMatch &lt;envoy_api_msg_listener.FilterChainMatch&gt;`.] When used
+ * within an upstream :ref:`BindConfig &lt;envoy_api_msg_core.BindConfig&gt;`, the address
+ * controls the source address of outbound connections. For :ref:`clusters
+ * &lt;envoy_api_msg_Cluster&gt;`, the cluster type determines whether the
+ * address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ * (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ * via :ref:`resolver_name &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`.
+ * </pre>
+ *
+ * <code>string address = 2 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getAddressBytes();
+
+ /**
+ * <code>uint32 port_value = 3 [(.validate.rules) = { ... }</code>
+ */
+ int getPortValue();
+
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ java.lang.String getNamedPort();
+ /**
+ * <pre>
+ * This is only valid if :ref:`resolver_name
+ * &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;` is specified below and the
+ * named resolver is capable of named port resolution.
+ * </pre>
+ *
+ * <code>string named_port = 4;</code>
+ */
+ com.google.protobuf.ByteString
+ getNamedPortBytes();
+
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ java.lang.String getResolverName();
+ /**
+ * <pre>
+ * The name of the resolver. This must have been registered with Envoy. If this is
+ * empty, a context dependent default applies. If address is a hostname this
+ * should be set for resolution other than DNS. If the address is a concrete
+ * IP address, no resolution will occur.
+ * </pre>
+ *
+ * <code>string resolver_name = 5;</code>
+ */
+ com.google.protobuf.ByteString
+ getResolverNameBytes();
+
+ /**
+ * <pre>
+ * When binding to an IPv6 address above, this enables `IPv4 compatibity
+ * &lt;https://tools.ietf.org/html/rfc3493#page-11&gt;`_. Binding to ``::`` will
+ * allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
+ * IPv6 space as ``::FFFF:&lt;IPv4-address&gt;``.
+ * </pre>
+ *
+ * <code>bool ipv4_compat = 6;</code>
+ */
+ boolean getIpv4Compat();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketAddress.PortSpecifierCase getPortSpecifierCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketOption.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketOption.java
new file mode 100644
index 000000000..8b03a6501
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketOption.java
@@ -0,0 +1,1208 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Generic socket option message. This would be used to set socket options that
+ * might not exist in upstream kernels or precompiled Envoy binaries.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.SocketOption}
+ */
+public final class SocketOption extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.SocketOption)
+ SocketOptionOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use SocketOption.newBuilder() to construct.
+ private SocketOption(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private SocketOption() {
+ description_ = "";
+ level_ = 0L;
+ name_ = 0L;
+ state_ = 0;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SocketOption(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ description_ = s;
+ break;
+ }
+ case 16: {
+
+ level_ = input.readInt64();
+ break;
+ }
+ case 24: {
+
+ name_ = input.readInt64();
+ break;
+ }
+ case 32: {
+ valueCase_ = 4;
+ value_ = input.readInt64();
+ break;
+ }
+ case 42: {
+ valueCase_ = 5;
+ value_ = input.readBytes();
+ break;
+ }
+ case 48: {
+ int rawValue = input.readEnum();
+
+ state_ = rawValue;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_SocketOption_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_SocketOption_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.class, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder.class);
+ }
+
+ /**
+ * Protobuf enum {@code envoy.api.v2.core.SocketOption.SocketState}
+ */
+ public enum SocketState
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <pre>
+ * Socket options are applied after socket creation but before binding the socket to a port
+ * </pre>
+ *
+ * <code>STATE_PREBIND = 0;</code>
+ */
+ STATE_PREBIND(0),
+ /**
+ * <pre>
+ * Socket options are applied after binding the socket to a port but before calling listen()
+ * </pre>
+ *
+ * <code>STATE_BOUND = 1;</code>
+ */
+ STATE_BOUND(1),
+ /**
+ * <pre>
+ * Socket options are applied after calling listen()
+ * </pre>
+ *
+ * <code>STATE_LISTENING = 2;</code>
+ */
+ STATE_LISTENING(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <pre>
+ * Socket options are applied after socket creation but before binding the socket to a port
+ * </pre>
+ *
+ * <code>STATE_PREBIND = 0;</code>
+ */
+ public static final int STATE_PREBIND_VALUE = 0;
+ /**
+ * <pre>
+ * Socket options are applied after binding the socket to a port but before calling listen()
+ * </pre>
+ *
+ * <code>STATE_BOUND = 1;</code>
+ */
+ public static final int STATE_BOUND_VALUE = 1;
+ /**
+ * <pre>
+ * Socket options are applied after calling listen()
+ * </pre>
+ *
+ * <code>STATE_LISTENING = 2;</code>
+ */
+ public static final int STATE_LISTENING_VALUE = 2;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static SocketState valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static SocketState forNumber(int value) {
+ switch (value) {
+ case 0: return STATE_PREBIND;
+ case 1: return STATE_BOUND;
+ case 2: return STATE_LISTENING;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<SocketState>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ SocketState> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<SocketState>() {
+ public SocketState findValueByNumber(int number) {
+ return SocketState.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final SocketState[] VALUES = values();
+
+ public static SocketState valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private SocketState(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.api.v2.core.SocketOption.SocketState)
+ }
+
+ private int valueCase_ = 0;
+ private java.lang.Object value_;
+ public enum ValueCase
+ implements com.google.protobuf.Internal.EnumLite {
+ INT_VALUE(4),
+ BUF_VALUE(5),
+ VALUE_NOT_SET(0);
+ private final int value;
+ private ValueCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ValueCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static ValueCase forNumber(int value) {
+ switch (value) {
+ case 4: return INT_VALUE;
+ case 5: return BUF_VALUE;
+ case 0: return VALUE_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public ValueCase
+ getValueCase() {
+ return ValueCase.forNumber(
+ valueCase_);
+ }
+
+ public static final int DESCRIPTION_FIELD_NUMBER = 1;
+ private volatile java.lang.Object description_;
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ public java.lang.String getDescription() {
+ java.lang.Object ref = description_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ description_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getDescriptionBytes() {
+ java.lang.Object ref = description_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ description_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int LEVEL_FIELD_NUMBER = 2;
+ private long level_;
+ /**
+ * <pre>
+ * Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP
+ * </pre>
+ *
+ * <code>int64 level = 2;</code>
+ */
+ public long getLevel() {
+ return level_;
+ }
+
+ public static final int NAME_FIELD_NUMBER = 3;
+ private long name_;
+ /**
+ * <pre>
+ * The numeric name as passed to setsockopt
+ * </pre>
+ *
+ * <code>int64 name = 3;</code>
+ */
+ public long getName() {
+ return name_;
+ }
+
+ public static final int INT_VALUE_FIELD_NUMBER = 4;
+ /**
+ * <pre>
+ * Because many sockopts take an int value.
+ * </pre>
+ *
+ * <code>int64 int_value = 4;</code>
+ */
+ public long getIntValue() {
+ if (valueCase_ == 4) {
+ return (java.lang.Long) value_;
+ }
+ return 0L;
+ }
+
+ public static final int BUF_VALUE_FIELD_NUMBER = 5;
+ /**
+ * <pre>
+ * Otherwise it's a byte buffer.
+ * </pre>
+ *
+ * <code>bytes buf_value = 5;</code>
+ */
+ public com.google.protobuf.ByteString getBufValue() {
+ if (valueCase_ == 5) {
+ return (com.google.protobuf.ByteString) value_;
+ }
+ return com.google.protobuf.ByteString.EMPTY;
+ }
+
+ public static final int STATE_FIELD_NUMBER = 6;
+ private int state_;
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ public int getStateValue() {
+ return state_;
+ }
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState getState() {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState result = io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState.valueOf(state_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState.UNRECOGNIZED : result;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getDescriptionBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, description_);
+ }
+ if (level_ != 0L) {
+ output.writeInt64(2, level_);
+ }
+ if (name_ != 0L) {
+ output.writeInt64(3, name_);
+ }
+ if (valueCase_ == 4) {
+ output.writeInt64(
+ 4, (long)((java.lang.Long) value_));
+ }
+ if (valueCase_ == 5) {
+ output.writeBytes(
+ 5, (com.google.protobuf.ByteString) value_);
+ }
+ if (state_ != io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState.STATE_PREBIND.getNumber()) {
+ output.writeEnum(6, state_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getDescriptionBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, description_);
+ }
+ if (level_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(2, level_);
+ }
+ if (name_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(3, name_);
+ }
+ if (valueCase_ == 4) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(
+ 4, (long)((java.lang.Long) value_));
+ }
+ if (valueCase_ == 5) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(
+ 5, (com.google.protobuf.ByteString) value_);
+ }
+ if (state_ != io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState.STATE_PREBIND.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(6, state_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.SocketOption)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption other = (io.grpc.xds.shaded.envoy.api.v2.core.SocketOption) obj;
+
+ boolean result = true;
+ result = result && getDescription()
+ .equals(other.getDescription());
+ result = result && (getLevel()
+ == other.getLevel());
+ result = result && (getName()
+ == other.getName());
+ result = result && state_ == other.state_;
+ result = result && getValueCase().equals(
+ other.getValueCase());
+ if (!result) return false;
+ switch (valueCase_) {
+ case 4:
+ result = result && (getIntValue()
+ == other.getIntValue());
+ break;
+ case 5:
+ result = result && getBufValue()
+ .equals(other.getBufValue());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
+ hash = (53 * hash) + getDescription().hashCode();
+ hash = (37 * hash) + LEVEL_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLevel());
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getName());
+ hash = (37 * hash) + STATE_FIELD_NUMBER;
+ hash = (53 * hash) + state_;
+ switch (valueCase_) {
+ case 4:
+ hash = (37 * hash) + INT_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getIntValue());
+ break;
+ case 5:
+ hash = (37 * hash) + BUF_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + getBufValue().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.SocketOption prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Generic socket option message. This would be used to set socket options that
+ * might not exist in upstream kernels or precompiled Envoy binaries.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.SocketOption}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.SocketOption)
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOptionOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_SocketOption_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_SocketOption_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.class, io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ description_ = "";
+
+ level_ = 0L;
+
+ name_ = 0L;
+
+ state_ = 0;
+
+ valueCase_ = 0;
+ value_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_SocketOption_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption result = new io.grpc.xds.shaded.envoy.api.v2.core.SocketOption(this);
+ result.description_ = description_;
+ result.level_ = level_;
+ result.name_ = name_;
+ if (valueCase_ == 4) {
+ result.value_ = value_;
+ }
+ if (valueCase_ == 5) {
+ result.value_ = value_;
+ }
+ result.state_ = state_;
+ result.valueCase_ = valueCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.SocketOption) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.SocketOption)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.SocketOption other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.getDefaultInstance()) return this;
+ if (!other.getDescription().isEmpty()) {
+ description_ = other.description_;
+ onChanged();
+ }
+ if (other.getLevel() != 0L) {
+ setLevel(other.getLevel());
+ }
+ if (other.getName() != 0L) {
+ setName(other.getName());
+ }
+ if (other.state_ != 0) {
+ setStateValue(other.getStateValue());
+ }
+ switch (other.getValueCase()) {
+ case INT_VALUE: {
+ setIntValue(other.getIntValue());
+ break;
+ }
+ case BUF_VALUE: {
+ setBufValue(other.getBufValue());
+ break;
+ }
+ case VALUE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.SocketOption) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int valueCase_ = 0;
+ private java.lang.Object value_;
+ public ValueCase
+ getValueCase() {
+ return ValueCase.forNumber(
+ valueCase_);
+ }
+
+ public Builder clearValue() {
+ valueCase_ = 0;
+ value_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private java.lang.Object description_ = "";
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ public java.lang.String getDescription() {
+ java.lang.Object ref = description_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ description_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getDescriptionBytes() {
+ java.lang.Object ref = description_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ description_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ public Builder setDescription(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ description_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ public Builder clearDescription() {
+
+ description_ = getDefaultInstance().getDescription();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ public Builder setDescriptionBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ description_ = value;
+ onChanged();
+ return this;
+ }
+
+ private long level_ ;
+ /**
+ * <pre>
+ * Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP
+ * </pre>
+ *
+ * <code>int64 level = 2;</code>
+ */
+ public long getLevel() {
+ return level_;
+ }
+ /**
+ * <pre>
+ * Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP
+ * </pre>
+ *
+ * <code>int64 level = 2;</code>
+ */
+ public Builder setLevel(long value) {
+
+ level_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP
+ * </pre>
+ *
+ * <code>int64 level = 2;</code>
+ */
+ public Builder clearLevel() {
+
+ level_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long name_ ;
+ /**
+ * <pre>
+ * The numeric name as passed to setsockopt
+ * </pre>
+ *
+ * <code>int64 name = 3;</code>
+ */
+ public long getName() {
+ return name_;
+ }
+ /**
+ * <pre>
+ * The numeric name as passed to setsockopt
+ * </pre>
+ *
+ * <code>int64 name = 3;</code>
+ */
+ public Builder setName(long value) {
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The numeric name as passed to setsockopt
+ * </pre>
+ *
+ * <code>int64 name = 3;</code>
+ */
+ public Builder clearName() {
+
+ name_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Because many sockopts take an int value.
+ * </pre>
+ *
+ * <code>int64 int_value = 4;</code>
+ */
+ public long getIntValue() {
+ if (valueCase_ == 4) {
+ return (java.lang.Long) value_;
+ }
+ return 0L;
+ }
+ /**
+ * <pre>
+ * Because many sockopts take an int value.
+ * </pre>
+ *
+ * <code>int64 int_value = 4;</code>
+ */
+ public Builder setIntValue(long value) {
+ valueCase_ = 4;
+ value_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Because many sockopts take an int value.
+ * </pre>
+ *
+ * <code>int64 int_value = 4;</code>
+ */
+ public Builder clearIntValue() {
+ if (valueCase_ == 4) {
+ valueCase_ = 0;
+ value_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Otherwise it's a byte buffer.
+ * </pre>
+ *
+ * <code>bytes buf_value = 5;</code>
+ */
+ public com.google.protobuf.ByteString getBufValue() {
+ if (valueCase_ == 5) {
+ return (com.google.protobuf.ByteString) value_;
+ }
+ return com.google.protobuf.ByteString.EMPTY;
+ }
+ /**
+ * <pre>
+ * Otherwise it's a byte buffer.
+ * </pre>
+ *
+ * <code>bytes buf_value = 5;</code>
+ */
+ public Builder setBufValue(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ valueCase_ = 5;
+ value_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Otherwise it's a byte buffer.
+ * </pre>
+ *
+ * <code>bytes buf_value = 5;</code>
+ */
+ public Builder clearBufValue() {
+ if (valueCase_ == 5) {
+ valueCase_ = 0;
+ value_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ private int state_ = 0;
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ public int getStateValue() {
+ return state_;
+ }
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setStateValue(int value) {
+ state_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState getState() {
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState result = io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState.valueOf(state_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setState(io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ state_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearState() {
+
+ state_ = 0;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.SocketOption)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.SocketOption)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.SocketOption DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.SocketOption();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.SocketOption getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<SocketOption>
+ PARSER = new com.google.protobuf.AbstractParser<SocketOption>() {
+ public SocketOption parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SocketOption(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<SocketOption> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<SocketOption> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketOptionOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketOptionOrBuilder.java
new file mode 100644
index 000000000..f0874ada7
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/SocketOptionOrBuilder.java
@@ -0,0 +1,86 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface SocketOptionOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.SocketOption)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ java.lang.String getDescription();
+ /**
+ * <pre>
+ * An optional name to give this socket option for debugging, etc.
+ * Uniqueness is not required and no special meaning is assumed.
+ * </pre>
+ *
+ * <code>string description = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getDescriptionBytes();
+
+ /**
+ * <pre>
+ * Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP
+ * </pre>
+ *
+ * <code>int64 level = 2;</code>
+ */
+ long getLevel();
+
+ /**
+ * <pre>
+ * The numeric name as passed to setsockopt
+ * </pre>
+ *
+ * <code>int64 name = 3;</code>
+ */
+ long getName();
+
+ /**
+ * <pre>
+ * Because many sockopts take an int value.
+ * </pre>
+ *
+ * <code>int64 int_value = 4;</code>
+ */
+ long getIntValue();
+
+ /**
+ * <pre>
+ * Otherwise it's a byte buffer.
+ * </pre>
+ *
+ * <code>bytes buf_value = 5;</code>
+ */
+ com.google.protobuf.ByteString getBufValue();
+
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ int getStateValue();
+ /**
+ * <pre>
+ * The state in which the option will be applied. When used in BindConfig
+ * STATE_PREBIND is currently the only valid value.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.SocketOption.SocketState state = 6 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.SocketState getState();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.SocketOption.ValueCase getValueCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpKeepalive.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpKeepalive.java
new file mode 100644
index 000000000..c3dbd1304
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpKeepalive.java
@@ -0,0 +1,1136 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * Protobuf type {@code envoy.api.v2.core.TcpKeepalive}
+ */
+public final class TcpKeepalive extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.TcpKeepalive)
+ TcpKeepaliveOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use TcpKeepalive.newBuilder() to construct.
+ private TcpKeepalive(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private TcpKeepalive() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TcpKeepalive(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (keepaliveProbes_ != null) {
+ subBuilder = keepaliveProbes_.toBuilder();
+ }
+ keepaliveProbes_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(keepaliveProbes_);
+ keepaliveProbes_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (keepaliveTime_ != null) {
+ subBuilder = keepaliveTime_.toBuilder();
+ }
+ keepaliveTime_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(keepaliveTime_);
+ keepaliveTime_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 26: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (keepaliveInterval_ != null) {
+ subBuilder = keepaliveInterval_.toBuilder();
+ }
+ keepaliveInterval_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(keepaliveInterval_);
+ keepaliveInterval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_TcpKeepalive_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_TcpKeepalive_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.class, io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.Builder.class);
+ }
+
+ public static final int KEEPALIVE_PROBES_FIELD_NUMBER = 1;
+ private com.google.protobuf.UInt32Value keepaliveProbes_;
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public boolean hasKeepaliveProbes() {
+ return keepaliveProbes_ != null;
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value getKeepaliveProbes() {
+ return keepaliveProbes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveProbes_;
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getKeepaliveProbesOrBuilder() {
+ return getKeepaliveProbes();
+ }
+
+ public static final int KEEPALIVE_TIME_FIELD_NUMBER = 2;
+ private com.google.protobuf.UInt32Value keepaliveTime_;
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public boolean hasKeepaliveTime() {
+ return keepaliveTime_ != null;
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public com.google.protobuf.UInt32Value getKeepaliveTime() {
+ return keepaliveTime_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveTime_;
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getKeepaliveTimeOrBuilder() {
+ return getKeepaliveTime();
+ }
+
+ public static final int KEEPALIVE_INTERVAL_FIELD_NUMBER = 3;
+ private com.google.protobuf.UInt32Value keepaliveInterval_;
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public boolean hasKeepaliveInterval() {
+ return keepaliveInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public com.google.protobuf.UInt32Value getKeepaliveInterval() {
+ return keepaliveInterval_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveInterval_;
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getKeepaliveIntervalOrBuilder() {
+ return getKeepaliveInterval();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (keepaliveProbes_ != null) {
+ output.writeMessage(1, getKeepaliveProbes());
+ }
+ if (keepaliveTime_ != null) {
+ output.writeMessage(2, getKeepaliveTime());
+ }
+ if (keepaliveInterval_ != null) {
+ output.writeMessage(3, getKeepaliveInterval());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (keepaliveProbes_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getKeepaliveProbes());
+ }
+ if (keepaliveTime_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getKeepaliveTime());
+ }
+ if (keepaliveInterval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getKeepaliveInterval());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive other = (io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive) obj;
+
+ boolean result = true;
+ result = result && (hasKeepaliveProbes() == other.hasKeepaliveProbes());
+ if (hasKeepaliveProbes()) {
+ result = result && getKeepaliveProbes()
+ .equals(other.getKeepaliveProbes());
+ }
+ result = result && (hasKeepaliveTime() == other.hasKeepaliveTime());
+ if (hasKeepaliveTime()) {
+ result = result && getKeepaliveTime()
+ .equals(other.getKeepaliveTime());
+ }
+ result = result && (hasKeepaliveInterval() == other.hasKeepaliveInterval());
+ if (hasKeepaliveInterval()) {
+ result = result && getKeepaliveInterval()
+ .equals(other.getKeepaliveInterval());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasKeepaliveProbes()) {
+ hash = (37 * hash) + KEEPALIVE_PROBES_FIELD_NUMBER;
+ hash = (53 * hash) + getKeepaliveProbes().hashCode();
+ }
+ if (hasKeepaliveTime()) {
+ hash = (37 * hash) + KEEPALIVE_TIME_FIELD_NUMBER;
+ hash = (53 * hash) + getKeepaliveTime().hashCode();
+ }
+ if (hasKeepaliveInterval()) {
+ hash = (37 * hash) + KEEPALIVE_INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getKeepaliveInterval().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.core.TcpKeepalive}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.TcpKeepalive)
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepaliveOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_TcpKeepalive_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_TcpKeepalive_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.class, io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (keepaliveProbesBuilder_ == null) {
+ keepaliveProbes_ = null;
+ } else {
+ keepaliveProbes_ = null;
+ keepaliveProbesBuilder_ = null;
+ }
+ if (keepaliveTimeBuilder_ == null) {
+ keepaliveTime_ = null;
+ } else {
+ keepaliveTime_ = null;
+ keepaliveTimeBuilder_ = null;
+ }
+ if (keepaliveIntervalBuilder_ == null) {
+ keepaliveInterval_ = null;
+ } else {
+ keepaliveInterval_ = null;
+ keepaliveIntervalBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.internal_static_envoy_api_v2_core_TcpKeepalive_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive result = new io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive(this);
+ if (keepaliveProbesBuilder_ == null) {
+ result.keepaliveProbes_ = keepaliveProbes_;
+ } else {
+ result.keepaliveProbes_ = keepaliveProbesBuilder_.build();
+ }
+ if (keepaliveTimeBuilder_ == null) {
+ result.keepaliveTime_ = keepaliveTime_;
+ } else {
+ result.keepaliveTime_ = keepaliveTimeBuilder_.build();
+ }
+ if (keepaliveIntervalBuilder_ == null) {
+ result.keepaliveInterval_ = keepaliveInterval_;
+ } else {
+ result.keepaliveInterval_ = keepaliveIntervalBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive.getDefaultInstance()) return this;
+ if (other.hasKeepaliveProbes()) {
+ mergeKeepaliveProbes(other.getKeepaliveProbes());
+ }
+ if (other.hasKeepaliveTime()) {
+ mergeKeepaliveTime(other.getKeepaliveTime());
+ }
+ if (other.hasKeepaliveInterval()) {
+ mergeKeepaliveInterval(other.getKeepaliveInterval());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private com.google.protobuf.UInt32Value keepaliveProbes_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> keepaliveProbesBuilder_;
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public boolean hasKeepaliveProbes() {
+ return keepaliveProbesBuilder_ != null || keepaliveProbes_ != null;
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value getKeepaliveProbes() {
+ if (keepaliveProbesBuilder_ == null) {
+ return keepaliveProbes_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveProbes_;
+ } else {
+ return keepaliveProbesBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public Builder setKeepaliveProbes(com.google.protobuf.UInt32Value value) {
+ if (keepaliveProbesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ keepaliveProbes_ = value;
+ onChanged();
+ } else {
+ keepaliveProbesBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public Builder setKeepaliveProbes(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (keepaliveProbesBuilder_ == null) {
+ keepaliveProbes_ = builderForValue.build();
+ onChanged();
+ } else {
+ keepaliveProbesBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public Builder mergeKeepaliveProbes(com.google.protobuf.UInt32Value value) {
+ if (keepaliveProbesBuilder_ == null) {
+ if (keepaliveProbes_ != null) {
+ keepaliveProbes_ =
+ com.google.protobuf.UInt32Value.newBuilder(keepaliveProbes_).mergeFrom(value).buildPartial();
+ } else {
+ keepaliveProbes_ = value;
+ }
+ onChanged();
+ } else {
+ keepaliveProbesBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public Builder clearKeepaliveProbes() {
+ if (keepaliveProbesBuilder_ == null) {
+ keepaliveProbes_ = null;
+ onChanged();
+ } else {
+ keepaliveProbes_ = null;
+ keepaliveProbesBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getKeepaliveProbesBuilder() {
+
+ onChanged();
+ return getKeepaliveProbesFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getKeepaliveProbesOrBuilder() {
+ if (keepaliveProbesBuilder_ != null) {
+ return keepaliveProbesBuilder_.getMessageOrBuilder();
+ } else {
+ return keepaliveProbes_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveProbes_;
+ }
+ }
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getKeepaliveProbesFieldBuilder() {
+ if (keepaliveProbesBuilder_ == null) {
+ keepaliveProbesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getKeepaliveProbes(),
+ getParentForChildren(),
+ isClean());
+ keepaliveProbes_ = null;
+ }
+ return keepaliveProbesBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value keepaliveTime_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> keepaliveTimeBuilder_;
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public boolean hasKeepaliveTime() {
+ return keepaliveTimeBuilder_ != null || keepaliveTime_ != null;
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public com.google.protobuf.UInt32Value getKeepaliveTime() {
+ if (keepaliveTimeBuilder_ == null) {
+ return keepaliveTime_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveTime_;
+ } else {
+ return keepaliveTimeBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public Builder setKeepaliveTime(com.google.protobuf.UInt32Value value) {
+ if (keepaliveTimeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ keepaliveTime_ = value;
+ onChanged();
+ } else {
+ keepaliveTimeBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public Builder setKeepaliveTime(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (keepaliveTimeBuilder_ == null) {
+ keepaliveTime_ = builderForValue.build();
+ onChanged();
+ } else {
+ keepaliveTimeBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public Builder mergeKeepaliveTime(com.google.protobuf.UInt32Value value) {
+ if (keepaliveTimeBuilder_ == null) {
+ if (keepaliveTime_ != null) {
+ keepaliveTime_ =
+ com.google.protobuf.UInt32Value.newBuilder(keepaliveTime_).mergeFrom(value).buildPartial();
+ } else {
+ keepaliveTime_ = value;
+ }
+ onChanged();
+ } else {
+ keepaliveTimeBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public Builder clearKeepaliveTime() {
+ if (keepaliveTimeBuilder_ == null) {
+ keepaliveTime_ = null;
+ onChanged();
+ } else {
+ keepaliveTime_ = null;
+ keepaliveTimeBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getKeepaliveTimeBuilder() {
+
+ onChanged();
+ return getKeepaliveTimeFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getKeepaliveTimeOrBuilder() {
+ if (keepaliveTimeBuilder_ != null) {
+ return keepaliveTimeBuilder_.getMessageOrBuilder();
+ } else {
+ return keepaliveTime_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveTime_;
+ }
+ }
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getKeepaliveTimeFieldBuilder() {
+ if (keepaliveTimeBuilder_ == null) {
+ keepaliveTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getKeepaliveTime(),
+ getParentForChildren(),
+ isClean());
+ keepaliveTime_ = null;
+ }
+ return keepaliveTimeBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value keepaliveInterval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> keepaliveIntervalBuilder_;
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public boolean hasKeepaliveInterval() {
+ return keepaliveIntervalBuilder_ != null || keepaliveInterval_ != null;
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public com.google.protobuf.UInt32Value getKeepaliveInterval() {
+ if (keepaliveIntervalBuilder_ == null) {
+ return keepaliveInterval_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveInterval_;
+ } else {
+ return keepaliveIntervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public Builder setKeepaliveInterval(com.google.protobuf.UInt32Value value) {
+ if (keepaliveIntervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ keepaliveInterval_ = value;
+ onChanged();
+ } else {
+ keepaliveIntervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public Builder setKeepaliveInterval(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (keepaliveIntervalBuilder_ == null) {
+ keepaliveInterval_ = builderForValue.build();
+ onChanged();
+ } else {
+ keepaliveIntervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public Builder mergeKeepaliveInterval(com.google.protobuf.UInt32Value value) {
+ if (keepaliveIntervalBuilder_ == null) {
+ if (keepaliveInterval_ != null) {
+ keepaliveInterval_ =
+ com.google.protobuf.UInt32Value.newBuilder(keepaliveInterval_).mergeFrom(value).buildPartial();
+ } else {
+ keepaliveInterval_ = value;
+ }
+ onChanged();
+ } else {
+ keepaliveIntervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public Builder clearKeepaliveInterval() {
+ if (keepaliveIntervalBuilder_ == null) {
+ keepaliveInterval_ = null;
+ onChanged();
+ } else {
+ keepaliveInterval_ = null;
+ keepaliveIntervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getKeepaliveIntervalBuilder() {
+
+ onChanged();
+ return getKeepaliveIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getKeepaliveIntervalOrBuilder() {
+ if (keepaliveIntervalBuilder_ != null) {
+ return keepaliveIntervalBuilder_.getMessageOrBuilder();
+ } else {
+ return keepaliveInterval_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : keepaliveInterval_;
+ }
+ }
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getKeepaliveIntervalFieldBuilder() {
+ if (keepaliveIntervalBuilder_ == null) {
+ keepaliveIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getKeepaliveInterval(),
+ getParentForChildren(),
+ isClean());
+ keepaliveInterval_ = null;
+ }
+ return keepaliveIntervalBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.TcpKeepalive)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.TcpKeepalive)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<TcpKeepalive>
+ PARSER = new com.google.protobuf.AbstractParser<TcpKeepalive>() {
+ public TcpKeepalive parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TcpKeepalive(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<TcpKeepalive> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<TcpKeepalive> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpKeepalive getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpKeepaliveOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpKeepaliveOrBuilder.java
new file mode 100644
index 000000000..47b4319c8
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpKeepaliveOrBuilder.java
@@ -0,0 +1,99 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/address.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface TcpKeepaliveOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.TcpKeepalive)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ boolean hasKeepaliveProbes();
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ com.google.protobuf.UInt32Value getKeepaliveProbes();
+ /**
+ * <pre>
+ * Maximum number of keepalive probes to send without response before deciding
+ * the connection is dead. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 9.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_probes = 1;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getKeepaliveProbesOrBuilder();
+
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ boolean hasKeepaliveTime();
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ com.google.protobuf.UInt32Value getKeepaliveTime();
+ /**
+ * <pre>
+ * The number of seconds a connection needs to be idle before keep-alive probes
+ * start being sent. Default is to use the OS level configuration (unless
+ * overridden, Linux defaults to 7200s (ie 2 hours.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_time = 2;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getKeepaliveTimeOrBuilder();
+
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ boolean hasKeepaliveInterval();
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ com.google.protobuf.UInt32Value getKeepaliveInterval();
+ /**
+ * <pre>
+ * The number of seconds between keep-alive probes. Default is to use the OS
+ * level configuration (unless overridden, Linux defaults to 75s.)
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value keepalive_interval = 3;</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getKeepaliveIntervalOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpProtocolOptions.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpProtocolOptions.java
new file mode 100644
index 000000000..8178bcda2
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpProtocolOptions.java
@@ -0,0 +1,396 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.TcpProtocolOptions}
+ */
+public final class TcpProtocolOptions extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.TcpProtocolOptions)
+ TcpProtocolOptionsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use TcpProtocolOptions.newBuilder() to construct.
+ private TcpProtocolOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private TcpProtocolOptions() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TcpProtocolOptions(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_TcpProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_TcpProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions other = (io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions) obj;
+
+ boolean result = true;
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.TcpProtocolOptions}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.TcpProtocolOptions)
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptionsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_TcpProtocolOptions_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_TcpProtocolOptions_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions.class, io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Protocol.internal_static_envoy_api_v2_core_TcpProtocolOptions_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions result = new io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions(this);
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions.getDefaultInstance()) return this;
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.TcpProtocolOptions)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.TcpProtocolOptions)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<TcpProtocolOptions>
+ PARSER = new com.google.protobuf.AbstractParser<TcpProtocolOptions>() {
+ public TcpProtocolOptions parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TcpProtocolOptions(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<TcpProtocolOptions> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<TcpProtocolOptions> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TcpProtocolOptions getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpProtocolOptionsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpProtocolOptionsOrBuilder.java
new file mode 100644
index 000000000..35e4a3771
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TcpProtocolOptionsOrBuilder.java
@@ -0,0 +1,9 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/protocol.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface TcpProtocolOptionsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.TcpProtocolOptions)
+ com.google.protobuf.MessageOrBuilder {
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TransportSocket.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TransportSocket.java
new file mode 100644
index 000000000..36fce82b0
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TransportSocket.java
@@ -0,0 +1,1089 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+/**
+ * <pre>
+ * Configuration for transport socket in :ref:`listeners &lt;config_listeners&gt;` and
+ * :ref:`clusters &lt;envoy_api_msg_Cluster&gt;`. If the configuration is
+ * empty, a default transport socket implementation and configuration will be
+ * chosen based on the platform and existence of tls_context.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.TransportSocket}
+ */
+public final class TransportSocket extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.core.TransportSocket)
+ TransportSocketOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use TransportSocket.newBuilder() to construct.
+ private TransportSocket(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private TransportSocket() {
+ name_ = "";
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TransportSocket(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Struct.Builder subBuilder = null;
+ if (configTypeCase_ == 2) {
+ subBuilder = ((com.google.protobuf.Struct) configType_).toBuilder();
+ }
+ configType_ =
+ input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((com.google.protobuf.Struct) configType_);
+ configType_ = subBuilder.buildPartial();
+ }
+ configTypeCase_ = 2;
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Any.Builder subBuilder = null;
+ if (configTypeCase_ == 3) {
+ subBuilder = ((com.google.protobuf.Any) configType_).toBuilder();
+ }
+ configType_ =
+ input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((com.google.protobuf.Any) configType_);
+ configType_ = subBuilder.buildPartial();
+ }
+ configTypeCase_ = 3;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_TransportSocket_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_TransportSocket_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.class, io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.Builder.class);
+ }
+
+ private int configTypeCase_ = 0;
+ private java.lang.Object configType_;
+ public enum ConfigTypeCase
+ implements com.google.protobuf.Internal.EnumLite {
+ CONFIG(2),
+ TYPED_CONFIG(3),
+ CONFIGTYPE_NOT_SET(0);
+ private final int value;
+ private ConfigTypeCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ConfigTypeCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static ConfigTypeCase forNumber(int value) {
+ switch (value) {
+ case 2: return CONFIG;
+ case 3: return TYPED_CONFIG;
+ case 0: return CONFIGTYPE_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public ConfigTypeCase
+ getConfigTypeCase() {
+ return ConfigTypeCase.forNumber(
+ configTypeCase_);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CONFIG_FIELD_NUMBER = 2;
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public boolean hasConfig() {
+ return configTypeCase_ == 2;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct getConfig() {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getConfigOrBuilder() {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+
+ public static final int TYPED_CONFIG_FIELD_NUMBER = 3;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public boolean hasTypedConfig() {
+ return configTypeCase_ == 3;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any getTypedConfig() {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (configTypeCase_ == 2) {
+ output.writeMessage(2, (com.google.protobuf.Struct) configType_);
+ }
+ if (configTypeCase_ == 3) {
+ output.writeMessage(3, (com.google.protobuf.Any) configType_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (configTypeCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (com.google.protobuf.Struct) configType_);
+ }
+ if (configTypeCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (com.google.protobuf.Any) configType_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket other = (io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket) obj;
+
+ boolean result = true;
+ result = result && getName()
+ .equals(other.getName());
+ result = result && getConfigTypeCase().equals(
+ other.getConfigTypeCase());
+ if (!result) return false;
+ switch (configTypeCase_) {
+ case 2:
+ result = result && getConfig()
+ .equals(other.getConfig());
+ break;
+ case 3:
+ result = result && getTypedConfig()
+ .equals(other.getTypedConfig());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ switch (configTypeCase_) {
+ case 2:
+ hash = (37 * hash) + CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getConfig().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + TYPED_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getTypedConfig().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Configuration for transport socket in :ref:`listeners &lt;config_listeners&gt;` and
+ * :ref:`clusters &lt;envoy_api_msg_Cluster&gt;`. If the configuration is
+ * empty, a default transport socket implementation and configuration will be
+ * chosen based on the platform and existence of tls_context.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.core.TransportSocket}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.core.TransportSocket)
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocketOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_TransportSocket_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_TransportSocket_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.class, io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ configTypeCase_ = 0;
+ configType_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.Base.internal_static_envoy_api_v2_core_TransportSocket_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket build() {
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket result = new io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket(this);
+ result.name_ = name_;
+ if (configTypeCase_ == 2) {
+ if (configBuilder_ == null) {
+ result.configType_ = configType_;
+ } else {
+ result.configType_ = configBuilder_.build();
+ }
+ }
+ if (configTypeCase_ == 3) {
+ if (typedConfigBuilder_ == null) {
+ result.configType_ = configType_;
+ } else {
+ result.configType_ = typedConfigBuilder_.build();
+ }
+ }
+ result.configTypeCase_ = configTypeCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ switch (other.getConfigTypeCase()) {
+ case CONFIG: {
+ mergeConfig(other.getConfig());
+ break;
+ }
+ case TYPED_CONFIG: {
+ mergeTypedConfig(other.getTypedConfig());
+ break;
+ }
+ case CONFIGTYPE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int configTypeCase_ = 0;
+ private java.lang.Object configType_;
+ public ConfigTypeCase
+ getConfigTypeCase() {
+ return ConfigTypeCase.forNumber(
+ configTypeCase_);
+ }
+
+ public Builder clearConfigType() {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ return this;
+ }
+
+
+ private java.lang.Object name_ = "";
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> configBuilder_;
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public boolean hasConfig() {
+ return configTypeCase_ == 2;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct getConfig() {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ } else {
+ if (configTypeCase_ == 2) {
+ return configBuilder_.getMessage();
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder setConfig(com.google.protobuf.Struct value) {
+ if (configBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configType_ = value;
+ onChanged();
+ } else {
+ configBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder setConfig(
+ com.google.protobuf.Struct.Builder builderForValue) {
+ if (configBuilder_ == null) {
+ configType_ = builderForValue.build();
+ onChanged();
+ } else {
+ configBuilder_.setMessage(builderForValue.build());
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder mergeConfig(com.google.protobuf.Struct value) {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2 &&
+ configType_ != com.google.protobuf.Struct.getDefaultInstance()) {
+ configType_ = com.google.protobuf.Struct.newBuilder((com.google.protobuf.Struct) configType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ configType_ = value;
+ }
+ onChanged();
+ } else {
+ if (configTypeCase_ == 2) {
+ configBuilder_.mergeFrom(value);
+ }
+ configBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public Builder clearConfig() {
+ if (configBuilder_ == null) {
+ if (configTypeCase_ == 2) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ }
+ } else {
+ if (configTypeCase_ == 2) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ }
+ configBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.Struct.Builder getConfigBuilder() {
+ return getConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getConfigOrBuilder() {
+ if ((configTypeCase_ == 2) && (configBuilder_ != null)) {
+ return configBuilder_.getMessageOrBuilder();
+ } else {
+ if (configTypeCase_ == 2) {
+ return (com.google.protobuf.Struct) configType_;
+ }
+ return com.google.protobuf.Struct.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>
+ getConfigFieldBuilder() {
+ if (configBuilder_ == null) {
+ if (!(configTypeCase_ == 2)) {
+ configType_ = com.google.protobuf.Struct.getDefaultInstance();
+ }
+ configBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>(
+ (com.google.protobuf.Struct) configType_,
+ getParentForChildren(),
+ isClean());
+ configType_ = null;
+ }
+ configTypeCase_ = 2;
+ onChanged();;
+ return configBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> typedConfigBuilder_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public boolean hasTypedConfig() {
+ return configTypeCase_ == 3;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any getTypedConfig() {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ } else {
+ if (configTypeCase_ == 3) {
+ return typedConfigBuilder_.getMessage();
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder setTypedConfig(com.google.protobuf.Any value) {
+ if (typedConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ configType_ = value;
+ onChanged();
+ } else {
+ typedConfigBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder setTypedConfig(
+ com.google.protobuf.Any.Builder builderForValue) {
+ if (typedConfigBuilder_ == null) {
+ configType_ = builderForValue.build();
+ onChanged();
+ } else {
+ typedConfigBuilder_.setMessage(builderForValue.build());
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder mergeTypedConfig(com.google.protobuf.Any value) {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3 &&
+ configType_ != com.google.protobuf.Any.getDefaultInstance()) {
+ configType_ = com.google.protobuf.Any.newBuilder((com.google.protobuf.Any) configType_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ configType_ = value;
+ }
+ onChanged();
+ } else {
+ if (configTypeCase_ == 3) {
+ typedConfigBuilder_.mergeFrom(value);
+ }
+ typedConfigBuilder_.setMessage(value);
+ }
+ configTypeCase_ = 3;
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public Builder clearTypedConfig() {
+ if (typedConfigBuilder_ == null) {
+ if (configTypeCase_ == 3) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ onChanged();
+ }
+ } else {
+ if (configTypeCase_ == 3) {
+ configTypeCase_ = 0;
+ configType_ = null;
+ }
+ typedConfigBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.Any.Builder getTypedConfigBuilder() {
+ return getTypedConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ public com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder() {
+ if ((configTypeCase_ == 3) && (typedConfigBuilder_ != null)) {
+ return typedConfigBuilder_.getMessageOrBuilder();
+ } else {
+ if (configTypeCase_ == 3) {
+ return (com.google.protobuf.Any) configType_;
+ }
+ return com.google.protobuf.Any.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>
+ getTypedConfigFieldBuilder() {
+ if (typedConfigBuilder_ == null) {
+ if (!(configTypeCase_ == 3)) {
+ configType_ = com.google.protobuf.Any.getDefaultInstance();
+ }
+ typedConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
+ (com.google.protobuf.Any) configType_,
+ getParentForChildren(),
+ isClean());
+ configType_ = null;
+ }
+ configTypeCase_ = 3;
+ onChanged();;
+ return typedConfigBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.core.TransportSocket)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.core.TransportSocket)
+ private static final io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<TransportSocket>
+ PARSER = new com.google.protobuf.AbstractParser<TransportSocket>() {
+ public TransportSocket parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TransportSocket(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<TransportSocket> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<TransportSocket> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TransportSocketOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TransportSocketOrBuilder.java
new file mode 100644
index 000000000..7f226ed76
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/core/TransportSocketOrBuilder.java
@@ -0,0 +1,69 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/core/base.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.core;
+
+public interface TransportSocketOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.core.TransportSocket)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getName();
+ /**
+ * <pre>
+ * The name of the transport socket to instantiate. The name must match a supported transport
+ * socket implementation.
+ * </pre>
+ *
+ * <code>string name = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ boolean hasConfig();
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ com.google.protobuf.Struct getConfig();
+ /**
+ * <code>.google.protobuf.Struct config = 2;</code>
+ */
+ com.google.protobuf.StructOrBuilder getConfigOrBuilder();
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ boolean hasTypedConfig();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ com.google.protobuf.Any getTypedConfig();
+ /**
+ * <pre>
+ * [#not-implemented-hide:]
+ * </pre>
+ *
+ * <code>.google.protobuf.Any typed_config = 3;</code>
+ */
+ com.google.protobuf.AnyOrBuilder getTypedConfigOrBuilder();
+
+ public io.grpc.xds.shaded.envoy.api.v2.core.TransportSocket.ConfigTypeCase getConfigTypeCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/ClusterStats.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/ClusterStats.java
new file mode 100644
index 000000000..47273e5d2
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/ClusterStats.java
@@ -0,0 +1,2471 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+/**
+ * <pre>
+ * Per cluster load stats. Envoy reports these stats a management server in a
+ * :ref:`LoadStatsRequest&lt;envoy_api_msg_load_stats.LoadStatsRequest&gt;`
+ * [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.ClusterStats}
+ */
+public final class ClusterStats extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.ClusterStats)
+ ClusterStatsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use ClusterStats.newBuilder() to construct.
+ private ClusterStats(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private ClusterStats() {
+ clusterName_ = "";
+ upstreamLocalityStats_ = java.util.Collections.emptyList();
+ totalDroppedRequests_ = 0L;
+ droppedRequests_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private ClusterStats(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ clusterName_ = s;
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ upstreamLocalityStats_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats>();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ upstreamLocalityStats_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.parser(), extensionRegistry));
+ break;
+ }
+ case 24: {
+
+ totalDroppedRequests_ = input.readUInt64();
+ break;
+ }
+ case 34: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (loadReportInterval_ != null) {
+ subBuilder = loadReportInterval_.toBuilder();
+ }
+ loadReportInterval_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(loadReportInterval_);
+ loadReportInterval_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 42: {
+ if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ droppedRequests_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests>();
+ mutable_bitField0_ |= 0x00000008;
+ }
+ droppedRequests_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ upstreamLocalityStats_ = java.util.Collections.unmodifiableList(upstreamLocalityStats_);
+ }
+ if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ droppedRequests_ = java.util.Collections.unmodifiableList(droppedRequests_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.Builder.class);
+ }
+
+ public interface DroppedRequestsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.ClusterStats.DroppedRequests)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getCategory();
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getCategoryBytes();
+
+ /**
+ * <pre>
+ * Total number of deliberately dropped requests for the category.
+ * </pre>
+ *
+ * <code>uint64 dropped_count = 2;</code>
+ */
+ long getDroppedCount();
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.endpoint.ClusterStats.DroppedRequests}
+ */
+ public static final class DroppedRequests extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.ClusterStats.DroppedRequests)
+ DroppedRequestsOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use DroppedRequests.newBuilder() to construct.
+ private DroppedRequests(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DroppedRequests() {
+ category_ = "";
+ droppedCount_ = 0L;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DroppedRequests(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ category_ = s;
+ break;
+ }
+ case 16: {
+
+ droppedCount_ = input.readUInt64();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder.class);
+ }
+
+ public static final int CATEGORY_FIELD_NUMBER = 1;
+ private volatile java.lang.Object category_;
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getCategory() {
+ java.lang.Object ref = category_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ category_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getCategoryBytes() {
+ java.lang.Object ref = category_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ category_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int DROPPED_COUNT_FIELD_NUMBER = 2;
+ private long droppedCount_;
+ /**
+ * <pre>
+ * Total number of deliberately dropped requests for the category.
+ * </pre>
+ *
+ * <code>uint64 dropped_count = 2;</code>
+ */
+ public long getDroppedCount() {
+ return droppedCount_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getCategoryBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, category_);
+ }
+ if (droppedCount_ != 0L) {
+ output.writeUInt64(2, droppedCount_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getCategoryBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, category_);
+ }
+ if (droppedCount_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, droppedCount_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests) obj;
+
+ boolean result = true;
+ result = result && getCategory()
+ .equals(other.getCategory());
+ result = result && (getDroppedCount()
+ == other.getDroppedCount());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + CATEGORY_FIELD_NUMBER;
+ hash = (53 * hash) + getCategory().hashCode();
+ hash = (37 * hash) + DROPPED_COUNT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getDroppedCount());
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.endpoint.ClusterStats.DroppedRequests}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.ClusterStats.DroppedRequests)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ category_ = "";
+
+ droppedCount_ = 0L;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests(this);
+ result.category_ = category_;
+ result.droppedCount_ = droppedCount_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.getDefaultInstance()) return this;
+ if (!other.getCategory().isEmpty()) {
+ category_ = other.category_;
+ onChanged();
+ }
+ if (other.getDroppedCount() != 0L) {
+ setDroppedCount(other.getDroppedCount());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object category_ = "";
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getCategory() {
+ java.lang.Object ref = category_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ category_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getCategoryBytes() {
+ java.lang.Object ref = category_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ category_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setCategory(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ category_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearCategory() {
+
+ category_ = getDefaultInstance().getCategory();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Identifier for the policy specifying the drop.
+ * </pre>
+ *
+ * <code>string category = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setCategoryBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ category_ = value;
+ onChanged();
+ return this;
+ }
+
+ private long droppedCount_ ;
+ /**
+ * <pre>
+ * Total number of deliberately dropped requests for the category.
+ * </pre>
+ *
+ * <code>uint64 dropped_count = 2;</code>
+ */
+ public long getDroppedCount() {
+ return droppedCount_;
+ }
+ /**
+ * <pre>
+ * Total number of deliberately dropped requests for the category.
+ * </pre>
+ *
+ * <code>uint64 dropped_count = 2;</code>
+ */
+ public Builder setDroppedCount(long value) {
+
+ droppedCount_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Total number of deliberately dropped requests for the category.
+ * </pre>
+ *
+ * <code>uint64 dropped_count = 2;</code>
+ */
+ public Builder clearDroppedCount() {
+
+ droppedCount_ = 0L;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.ClusterStats.DroppedRequests)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.ClusterStats.DroppedRequests)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<DroppedRequests>
+ PARSER = new com.google.protobuf.AbstractParser<DroppedRequests>() {
+ public DroppedRequests parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DroppedRequests(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DroppedRequests> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DroppedRequests> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private int bitField0_;
+ public static final int CLUSTER_NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object clusterName_;
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getClusterName() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ clusterName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterNameBytes() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ clusterName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int UPSTREAM_LOCALITY_STATS_FIELD_NUMBER = 2;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats> upstreamLocalityStats_;
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats> getUpstreamLocalityStatsList() {
+ return upstreamLocalityStats_;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder>
+ getUpstreamLocalityStatsOrBuilderList() {
+ return upstreamLocalityStats_;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getUpstreamLocalityStatsCount() {
+ return upstreamLocalityStats_.size();
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats getUpstreamLocalityStats(int index) {
+ return upstreamLocalityStats_.get(index);
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder getUpstreamLocalityStatsOrBuilder(
+ int index) {
+ return upstreamLocalityStats_.get(index);
+ }
+
+ public static final int TOTAL_DROPPED_REQUESTS_FIELD_NUMBER = 3;
+ private long totalDroppedRequests_;
+ /**
+ * <pre>
+ * Cluster-level stats such as total_successful_requests may be computed by
+ * summing upstream_locality_stats. In addition, below there are additional
+ * cluster-wide stats. The following total_requests equality holds at the
+ * cluster-level:
+ * .. code-block:: none
+ * sum_locality(total_successful_requests) + sum_locality(total_requests_in_progress) +
+ * sum_locality(total_error_requests) + total_dropped_requests`
+ * The total number of dropped requests. This covers requests
+ * deliberately dropped by the drop_overload policy and circuit breaking.
+ * </pre>
+ *
+ * <code>uint64 total_dropped_requests = 3;</code>
+ */
+ public long getTotalDroppedRequests() {
+ return totalDroppedRequests_;
+ }
+
+ public static final int DROPPED_REQUESTS_FIELD_NUMBER = 5;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests> droppedRequests_;
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests> getDroppedRequestsList() {
+ return droppedRequests_;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder>
+ getDroppedRequestsOrBuilderList() {
+ return droppedRequests_;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public int getDroppedRequestsCount() {
+ return droppedRequests_.size();
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests getDroppedRequests(int index) {
+ return droppedRequests_.get(index);
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder getDroppedRequestsOrBuilder(
+ int index) {
+ return droppedRequests_.get(index);
+ }
+
+ public static final int LOAD_REPORT_INTERVAL_FIELD_NUMBER = 4;
+ private com.google.protobuf.Duration loadReportInterval_;
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public boolean hasLoadReportInterval() {
+ return loadReportInterval_ != null;
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public com.google.protobuf.Duration getLoadReportInterval() {
+ return loadReportInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : loadReportInterval_;
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getLoadReportIntervalOrBuilder() {
+ return getLoadReportInterval();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getClusterNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, clusterName_);
+ }
+ for (int i = 0; i < upstreamLocalityStats_.size(); i++) {
+ output.writeMessage(2, upstreamLocalityStats_.get(i));
+ }
+ if (totalDroppedRequests_ != 0L) {
+ output.writeUInt64(3, totalDroppedRequests_);
+ }
+ if (loadReportInterval_ != null) {
+ output.writeMessage(4, getLoadReportInterval());
+ }
+ for (int i = 0; i < droppedRequests_.size(); i++) {
+ output.writeMessage(5, droppedRequests_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getClusterNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, clusterName_);
+ }
+ for (int i = 0; i < upstreamLocalityStats_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, upstreamLocalityStats_.get(i));
+ }
+ if (totalDroppedRequests_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(3, totalDroppedRequests_);
+ }
+ if (loadReportInterval_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getLoadReportInterval());
+ }
+ for (int i = 0; i < droppedRequests_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, droppedRequests_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats) obj;
+
+ boolean result = true;
+ result = result && getClusterName()
+ .equals(other.getClusterName());
+ result = result && getUpstreamLocalityStatsList()
+ .equals(other.getUpstreamLocalityStatsList());
+ result = result && (getTotalDroppedRequests()
+ == other.getTotalDroppedRequests());
+ result = result && getDroppedRequestsList()
+ .equals(other.getDroppedRequestsList());
+ result = result && (hasLoadReportInterval() == other.hasLoadReportInterval());
+ if (hasLoadReportInterval()) {
+ result = result && getLoadReportInterval()
+ .equals(other.getLoadReportInterval());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + CLUSTER_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getClusterName().hashCode();
+ if (getUpstreamLocalityStatsCount() > 0) {
+ hash = (37 * hash) + UPSTREAM_LOCALITY_STATS_FIELD_NUMBER;
+ hash = (53 * hash) + getUpstreamLocalityStatsList().hashCode();
+ }
+ hash = (37 * hash) + TOTAL_DROPPED_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getTotalDroppedRequests());
+ if (getDroppedRequestsCount() > 0) {
+ hash = (37 * hash) + DROPPED_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + getDroppedRequestsList().hashCode();
+ }
+ if (hasLoadReportInterval()) {
+ hash = (37 * hash) + LOAD_REPORT_INTERVAL_FIELD_NUMBER;
+ hash = (53 * hash) + getLoadReportInterval().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Per cluster load stats. Envoy reports these stats a management server in a
+ * :ref:`LoadStatsRequest&lt;envoy_api_msg_load_stats.LoadStatsRequest&gt;`
+ * [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.ClusterStats}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.ClusterStats)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStatsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getUpstreamLocalityStatsFieldBuilder();
+ getDroppedRequestsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ clusterName_ = "";
+
+ if (upstreamLocalityStatsBuilder_ == null) {
+ upstreamLocalityStats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ upstreamLocalityStatsBuilder_.clear();
+ }
+ totalDroppedRequests_ = 0L;
+
+ if (droppedRequestsBuilder_ == null) {
+ droppedRequests_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ droppedRequestsBuilder_.clear();
+ }
+ if (loadReportIntervalBuilder_ == null) {
+ loadReportInterval_ = null;
+ } else {
+ loadReportInterval_ = null;
+ loadReportIntervalBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_ClusterStats_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ result.clusterName_ = clusterName_;
+ if (upstreamLocalityStatsBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ upstreamLocalityStats_ = java.util.Collections.unmodifiableList(upstreamLocalityStats_);
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.upstreamLocalityStats_ = upstreamLocalityStats_;
+ } else {
+ result.upstreamLocalityStats_ = upstreamLocalityStatsBuilder_.build();
+ }
+ result.totalDroppedRequests_ = totalDroppedRequests_;
+ if (droppedRequestsBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ droppedRequests_ = java.util.Collections.unmodifiableList(droppedRequests_);
+ bitField0_ = (bitField0_ & ~0x00000008);
+ }
+ result.droppedRequests_ = droppedRequests_;
+ } else {
+ result.droppedRequests_ = droppedRequestsBuilder_.build();
+ }
+ if (loadReportIntervalBuilder_ == null) {
+ result.loadReportInterval_ = loadReportInterval_;
+ } else {
+ result.loadReportInterval_ = loadReportIntervalBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.getDefaultInstance()) return this;
+ if (!other.getClusterName().isEmpty()) {
+ clusterName_ = other.clusterName_;
+ onChanged();
+ }
+ if (upstreamLocalityStatsBuilder_ == null) {
+ if (!other.upstreamLocalityStats_.isEmpty()) {
+ if (upstreamLocalityStats_.isEmpty()) {
+ upstreamLocalityStats_ = other.upstreamLocalityStats_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureUpstreamLocalityStatsIsMutable();
+ upstreamLocalityStats_.addAll(other.upstreamLocalityStats_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.upstreamLocalityStats_.isEmpty()) {
+ if (upstreamLocalityStatsBuilder_.isEmpty()) {
+ upstreamLocalityStatsBuilder_.dispose();
+ upstreamLocalityStatsBuilder_ = null;
+ upstreamLocalityStats_ = other.upstreamLocalityStats_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ upstreamLocalityStatsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getUpstreamLocalityStatsFieldBuilder() : null;
+ } else {
+ upstreamLocalityStatsBuilder_.addAllMessages(other.upstreamLocalityStats_);
+ }
+ }
+ }
+ if (other.getTotalDroppedRequests() != 0L) {
+ setTotalDroppedRequests(other.getTotalDroppedRequests());
+ }
+ if (droppedRequestsBuilder_ == null) {
+ if (!other.droppedRequests_.isEmpty()) {
+ if (droppedRequests_.isEmpty()) {
+ droppedRequests_ = other.droppedRequests_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ ensureDroppedRequestsIsMutable();
+ droppedRequests_.addAll(other.droppedRequests_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.droppedRequests_.isEmpty()) {
+ if (droppedRequestsBuilder_.isEmpty()) {
+ droppedRequestsBuilder_.dispose();
+ droppedRequestsBuilder_ = null;
+ droppedRequests_ = other.droppedRequests_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ droppedRequestsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getDroppedRequestsFieldBuilder() : null;
+ } else {
+ droppedRequestsBuilder_.addAllMessages(other.droppedRequests_);
+ }
+ }
+ }
+ if (other.hasLoadReportInterval()) {
+ mergeLoadReportInterval(other.getLoadReportInterval());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private java.lang.Object clusterName_ = "";
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public java.lang.String getClusterName() {
+ java.lang.Object ref = clusterName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ clusterName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.ByteString
+ getClusterNameBytes() {
+ java.lang.Object ref = clusterName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ clusterName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setClusterName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ clusterName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearClusterName() {
+
+ clusterName_ = getDefaultInstance().getClusterName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setClusterNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ clusterName_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats> upstreamLocalityStats_ =
+ java.util.Collections.emptyList();
+ private void ensureUpstreamLocalityStatsIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ upstreamLocalityStats_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats>(upstreamLocalityStats_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder> upstreamLocalityStatsBuilder_;
+
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats> getUpstreamLocalityStatsList() {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(upstreamLocalityStats_);
+ } else {
+ return upstreamLocalityStatsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getUpstreamLocalityStatsCount() {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ return upstreamLocalityStats_.size();
+ } else {
+ return upstreamLocalityStatsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats getUpstreamLocalityStats(int index) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ return upstreamLocalityStats_.get(index);
+ } else {
+ return upstreamLocalityStatsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setUpstreamLocalityStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats value) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUpstreamLocalityStatsIsMutable();
+ upstreamLocalityStats_.set(index, value);
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setUpstreamLocalityStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder builderForValue) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ ensureUpstreamLocalityStatsIsMutable();
+ upstreamLocalityStats_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addUpstreamLocalityStats(io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats value) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUpstreamLocalityStatsIsMutable();
+ upstreamLocalityStats_.add(value);
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addUpstreamLocalityStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats value) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUpstreamLocalityStatsIsMutable();
+ upstreamLocalityStats_.add(index, value);
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addUpstreamLocalityStats(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder builderForValue) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ ensureUpstreamLocalityStatsIsMutable();
+ upstreamLocalityStats_.add(builderForValue.build());
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addUpstreamLocalityStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder builderForValue) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ ensureUpstreamLocalityStatsIsMutable();
+ upstreamLocalityStats_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder addAllUpstreamLocalityStats(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats> values) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ ensureUpstreamLocalityStatsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, upstreamLocalityStats_);
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearUpstreamLocalityStats() {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ upstreamLocalityStats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder removeUpstreamLocalityStats(int index) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ ensureUpstreamLocalityStatsIsMutable();
+ upstreamLocalityStats_.remove(index);
+ onChanged();
+ } else {
+ upstreamLocalityStatsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder getUpstreamLocalityStatsBuilder(
+ int index) {
+ return getUpstreamLocalityStatsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder getUpstreamLocalityStatsOrBuilder(
+ int index) {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ return upstreamLocalityStats_.get(index); } else {
+ return upstreamLocalityStatsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder>
+ getUpstreamLocalityStatsOrBuilderList() {
+ if (upstreamLocalityStatsBuilder_ != null) {
+ return upstreamLocalityStatsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(upstreamLocalityStats_);
+ }
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder addUpstreamLocalityStatsBuilder() {
+ return getUpstreamLocalityStatsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder addUpstreamLocalityStatsBuilder(
+ int index) {
+ return getUpstreamLocalityStatsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder>
+ getUpstreamLocalityStatsBuilderList() {
+ return getUpstreamLocalityStatsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder>
+ getUpstreamLocalityStatsFieldBuilder() {
+ if (upstreamLocalityStatsBuilder_ == null) {
+ upstreamLocalityStatsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder>(
+ upstreamLocalityStats_,
+ ((bitField0_ & 0x00000002) == 0x00000002),
+ getParentForChildren(),
+ isClean());
+ upstreamLocalityStats_ = null;
+ }
+ return upstreamLocalityStatsBuilder_;
+ }
+
+ private long totalDroppedRequests_ ;
+ /**
+ * <pre>
+ * Cluster-level stats such as total_successful_requests may be computed by
+ * summing upstream_locality_stats. In addition, below there are additional
+ * cluster-wide stats. The following total_requests equality holds at the
+ * cluster-level:
+ * .. code-block:: none
+ * sum_locality(total_successful_requests) + sum_locality(total_requests_in_progress) +
+ * sum_locality(total_error_requests) + total_dropped_requests`
+ * The total number of dropped requests. This covers requests
+ * deliberately dropped by the drop_overload policy and circuit breaking.
+ * </pre>
+ *
+ * <code>uint64 total_dropped_requests = 3;</code>
+ */
+ public long getTotalDroppedRequests() {
+ return totalDroppedRequests_;
+ }
+ /**
+ * <pre>
+ * Cluster-level stats such as total_successful_requests may be computed by
+ * summing upstream_locality_stats. In addition, below there are additional
+ * cluster-wide stats. The following total_requests equality holds at the
+ * cluster-level:
+ * .. code-block:: none
+ * sum_locality(total_successful_requests) + sum_locality(total_requests_in_progress) +
+ * sum_locality(total_error_requests) + total_dropped_requests`
+ * The total number of dropped requests. This covers requests
+ * deliberately dropped by the drop_overload policy and circuit breaking.
+ * </pre>
+ *
+ * <code>uint64 total_dropped_requests = 3;</code>
+ */
+ public Builder setTotalDroppedRequests(long value) {
+
+ totalDroppedRequests_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Cluster-level stats such as total_successful_requests may be computed by
+ * summing upstream_locality_stats. In addition, below there are additional
+ * cluster-wide stats. The following total_requests equality holds at the
+ * cluster-level:
+ * .. code-block:: none
+ * sum_locality(total_successful_requests) + sum_locality(total_requests_in_progress) +
+ * sum_locality(total_error_requests) + total_dropped_requests`
+ * The total number of dropped requests. This covers requests
+ * deliberately dropped by the drop_overload policy and circuit breaking.
+ * </pre>
+ *
+ * <code>uint64 total_dropped_requests = 3;</code>
+ */
+ public Builder clearTotalDroppedRequests() {
+
+ totalDroppedRequests_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests> droppedRequests_ =
+ java.util.Collections.emptyList();
+ private void ensureDroppedRequestsIsMutable() {
+ if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+ droppedRequests_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests>(droppedRequests_);
+ bitField0_ |= 0x00000008;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder> droppedRequestsBuilder_;
+
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests> getDroppedRequestsList() {
+ if (droppedRequestsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(droppedRequests_);
+ } else {
+ return droppedRequestsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public int getDroppedRequestsCount() {
+ if (droppedRequestsBuilder_ == null) {
+ return droppedRequests_.size();
+ } else {
+ return droppedRequestsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests getDroppedRequests(int index) {
+ if (droppedRequestsBuilder_ == null) {
+ return droppedRequests_.get(index);
+ } else {
+ return droppedRequestsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder setDroppedRequests(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests value) {
+ if (droppedRequestsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDroppedRequestsIsMutable();
+ droppedRequests_.set(index, value);
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder setDroppedRequests(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder builderForValue) {
+ if (droppedRequestsBuilder_ == null) {
+ ensureDroppedRequestsIsMutable();
+ droppedRequests_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder addDroppedRequests(io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests value) {
+ if (droppedRequestsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDroppedRequestsIsMutable();
+ droppedRequests_.add(value);
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder addDroppedRequests(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests value) {
+ if (droppedRequestsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureDroppedRequestsIsMutable();
+ droppedRequests_.add(index, value);
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder addDroppedRequests(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder builderForValue) {
+ if (droppedRequestsBuilder_ == null) {
+ ensureDroppedRequestsIsMutable();
+ droppedRequests_.add(builderForValue.build());
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder addDroppedRequests(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder builderForValue) {
+ if (droppedRequestsBuilder_ == null) {
+ ensureDroppedRequestsIsMutable();
+ droppedRequests_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder addAllDroppedRequests(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests> values) {
+ if (droppedRequestsBuilder_ == null) {
+ ensureDroppedRequestsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, droppedRequests_);
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder clearDroppedRequests() {
+ if (droppedRequestsBuilder_ == null) {
+ droppedRequests_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public Builder removeDroppedRequests(int index) {
+ if (droppedRequestsBuilder_ == null) {
+ ensureDroppedRequestsIsMutable();
+ droppedRequests_.remove(index);
+ onChanged();
+ } else {
+ droppedRequestsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder getDroppedRequestsBuilder(
+ int index) {
+ return getDroppedRequestsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder getDroppedRequestsOrBuilder(
+ int index) {
+ if (droppedRequestsBuilder_ == null) {
+ return droppedRequests_.get(index); } else {
+ return droppedRequestsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder>
+ getDroppedRequestsOrBuilderList() {
+ if (droppedRequestsBuilder_ != null) {
+ return droppedRequestsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(droppedRequests_);
+ }
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder addDroppedRequestsBuilder() {
+ return getDroppedRequestsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder addDroppedRequestsBuilder(
+ int index) {
+ return getDroppedRequestsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder>
+ getDroppedRequestsBuilderList() {
+ return getDroppedRequestsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder>
+ getDroppedRequestsFieldBuilder() {
+ if (droppedRequestsBuilder_ == null) {
+ droppedRequestsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder>(
+ droppedRequests_,
+ ((bitField0_ & 0x00000008) == 0x00000008),
+ getParentForChildren(),
+ isClean());
+ droppedRequests_ = null;
+ }
+ return droppedRequestsBuilder_;
+ }
+
+ private com.google.protobuf.Duration loadReportInterval_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> loadReportIntervalBuilder_;
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public boolean hasLoadReportInterval() {
+ return loadReportIntervalBuilder_ != null || loadReportInterval_ != null;
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public com.google.protobuf.Duration getLoadReportInterval() {
+ if (loadReportIntervalBuilder_ == null) {
+ return loadReportInterval_ == null ? com.google.protobuf.Duration.getDefaultInstance() : loadReportInterval_;
+ } else {
+ return loadReportIntervalBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public Builder setLoadReportInterval(com.google.protobuf.Duration value) {
+ if (loadReportIntervalBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ loadReportInterval_ = value;
+ onChanged();
+ } else {
+ loadReportIntervalBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public Builder setLoadReportInterval(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (loadReportIntervalBuilder_ == null) {
+ loadReportInterval_ = builderForValue.build();
+ onChanged();
+ } else {
+ loadReportIntervalBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public Builder mergeLoadReportInterval(com.google.protobuf.Duration value) {
+ if (loadReportIntervalBuilder_ == null) {
+ if (loadReportInterval_ != null) {
+ loadReportInterval_ =
+ com.google.protobuf.Duration.newBuilder(loadReportInterval_).mergeFrom(value).buildPartial();
+ } else {
+ loadReportInterval_ = value;
+ }
+ onChanged();
+ } else {
+ loadReportIntervalBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public Builder clearLoadReportInterval() {
+ if (loadReportIntervalBuilder_ == null) {
+ loadReportInterval_ = null;
+ onChanged();
+ } else {
+ loadReportInterval_ = null;
+ loadReportIntervalBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public com.google.protobuf.Duration.Builder getLoadReportIntervalBuilder() {
+
+ onChanged();
+ return getLoadReportIntervalFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getLoadReportIntervalOrBuilder() {
+ if (loadReportIntervalBuilder_ != null) {
+ return loadReportIntervalBuilder_.getMessageOrBuilder();
+ } else {
+ return loadReportInterval_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : loadReportInterval_;
+ }
+ }
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getLoadReportIntervalFieldBuilder() {
+ if (loadReportIntervalBuilder_ == null) {
+ loadReportIntervalBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getLoadReportInterval(),
+ getParentForChildren(),
+ isClean());
+ loadReportInterval_ = null;
+ }
+ return loadReportIntervalBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.ClusterStats)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.ClusterStats)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<ClusterStats>
+ PARSER = new com.google.protobuf.AbstractParser<ClusterStats>() {
+ public ClusterStats parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new ClusterStats(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<ClusterStats> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<ClusterStats> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/ClusterStatsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/ClusterStatsOrBuilder.java
new file mode 100644
index 000000000..ff10ba1c4
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/ClusterStatsOrBuilder.java
@@ -0,0 +1,171 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public interface ClusterStatsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.ClusterStats)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ java.lang.String getClusterName();
+ /**
+ * <pre>
+ * The name of the cluster.
+ * </pre>
+ *
+ * <code>string cluster_name = 1 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.ByteString
+ getClusterNameBytes();
+
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats>
+ getUpstreamLocalityStatsList();
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats getUpstreamLocalityStats(int index);
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ int getUpstreamLocalityStatsCount();
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder>
+ getUpstreamLocalityStatsOrBuilderList();
+ /**
+ * <pre>
+ * Need at least one.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamLocalityStats upstream_locality_stats = 2 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder getUpstreamLocalityStatsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Cluster-level stats such as total_successful_requests may be computed by
+ * summing upstream_locality_stats. In addition, below there are additional
+ * cluster-wide stats. The following total_requests equality holds at the
+ * cluster-level:
+ * .. code-block:: none
+ * sum_locality(total_successful_requests) + sum_locality(total_requests_in_progress) +
+ * sum_locality(total_error_requests) + total_dropped_requests`
+ * The total number of dropped requests. This covers requests
+ * deliberately dropped by the drop_overload policy and circuit breaking.
+ * </pre>
+ *
+ * <code>uint64 total_dropped_requests = 3;</code>
+ */
+ long getTotalDroppedRequests();
+
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests>
+ getDroppedRequestsList();
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequests getDroppedRequests(int index);
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ int getDroppedRequestsCount();
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder>
+ getDroppedRequestsOrBuilderList();
+ /**
+ * <pre>
+ * Information about deliberately dropped requests for each category specified
+ * in the DropOverload policy.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.ClusterStats.DroppedRequests dropped_requests = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.ClusterStats.DroppedRequestsOrBuilder getDroppedRequestsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ boolean hasLoadReportInterval();
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ com.google.protobuf.Duration getLoadReportInterval();
+ /**
+ * <pre>
+ * Period over which the actual load report occurred. This will be guaranteed to include every
+ * request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ * and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ * the requested load reporting interval in the *LoadStatsResponse*.
+ * </pre>
+ *
+ * <code>.google.protobuf.Duration load_report_interval = 4;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getLoadReportIntervalOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/Endpoint.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/Endpoint.java
new file mode 100644
index 000000000..e3d704ac9
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/Endpoint.java
@@ -0,0 +1,1474 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/endpoint.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+/**
+ * <pre>
+ * Upstream host identifier.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.Endpoint}
+ */
+public final class Endpoint extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.Endpoint)
+ EndpointOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Endpoint.newBuilder() to construct.
+ private Endpoint(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Endpoint() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Endpoint(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder subBuilder = null;
+ if (address_ != null) {
+ subBuilder = address_.toBuilder();
+ }
+ address_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Address.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(address_);
+ address_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.Builder subBuilder = null;
+ if (healthCheckConfig_ != null) {
+ subBuilder = healthCheckConfig_.toBuilder();
+ }
+ healthCheckConfig_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(healthCheckConfig_);
+ healthCheckConfig_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.Builder.class);
+ }
+
+ public interface HealthCheckConfigOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.Endpoint.HealthCheckConfig)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Optional alternative health check port value.
+ * By default the health check address port of an upstream host is the same
+ * as the host's serving address port. This provides an alternative health
+ * check port. Setting this with a non-zero value allows an upstream host
+ * to have different health check address port.
+ * </pre>
+ *
+ * <code>uint32 port_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ int getPortValue();
+ }
+ /**
+ * <pre>
+ * The optional health check configuration.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.Endpoint.HealthCheckConfig}
+ */
+ public static final class HealthCheckConfig extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.Endpoint.HealthCheckConfig)
+ HealthCheckConfigOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use HealthCheckConfig.newBuilder() to construct.
+ private HealthCheckConfig(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private HealthCheckConfig() {
+ portValue_ = 0;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private HealthCheckConfig(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+
+ portValue_ = input.readUInt32();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.Builder.class);
+ }
+
+ public static final int PORT_VALUE_FIELD_NUMBER = 1;
+ private int portValue_;
+ /**
+ * <pre>
+ * Optional alternative health check port value.
+ * By default the health check address port of an upstream host is the same
+ * as the host's serving address port. This provides an alternative health
+ * check port. Setting this with a non-zero value allows an upstream host
+ * to have different health check address port.
+ * </pre>
+ *
+ * <code>uint32 port_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getPortValue() {
+ return portValue_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (portValue_ != 0) {
+ output.writeUInt32(1, portValue_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (portValue_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(1, portValue_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig) obj;
+
+ boolean result = true;
+ result = result && (getPortValue()
+ == other.getPortValue());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + PORT_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + getPortValue();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * The optional health check configuration.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.Endpoint.HealthCheckConfig}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.Endpoint.HealthCheckConfig)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfigOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ portValue_ = 0;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig(this);
+ result.portValue_ = portValue_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.getDefaultInstance()) return this;
+ if (other.getPortValue() != 0) {
+ setPortValue(other.getPortValue());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private int portValue_ ;
+ /**
+ * <pre>
+ * Optional alternative health check port value.
+ * By default the health check address port of an upstream host is the same
+ * as the host's serving address port. This provides an alternative health
+ * check port. Setting this with a non-zero value allows an upstream host
+ * to have different health check address port.
+ * </pre>
+ *
+ * <code>uint32 port_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public int getPortValue() {
+ return portValue_;
+ }
+ /**
+ * <pre>
+ * Optional alternative health check port value.
+ * By default the health check address port of an upstream host is the same
+ * as the host's serving address port. This provides an alternative health
+ * check port. Setting this with a non-zero value allows an upstream host
+ * to have different health check address port.
+ * </pre>
+ *
+ * <code>uint32 port_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPortValue(int value) {
+
+ portValue_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional alternative health check port value.
+ * By default the health check address port of an upstream host is the same
+ * as the host's serving address port. This provides an alternative health
+ * check port. Setting this with a non-zero value allows an upstream host
+ * to have different health check address port.
+ * </pre>
+ *
+ * <code>uint32 port_value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearPortValue() {
+
+ portValue_ = 0;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.Endpoint.HealthCheckConfig)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.Endpoint.HealthCheckConfig)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<HealthCheckConfig>
+ PARSER = new com.google.protobuf.AbstractParser<HealthCheckConfig>() {
+ public HealthCheckConfig parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new HealthCheckConfig(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<HealthCheckConfig> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<HealthCheckConfig> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public static final int ADDRESS_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Address address_;
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public boolean hasAddress() {
+ return address_ != null;
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getAddress() {
+ return address_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : address_;
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getAddressOrBuilder() {
+ return getAddress();
+ }
+
+ public static final int HEALTH_CHECK_CONFIG_FIELD_NUMBER = 2;
+ private io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig healthCheckConfig_;
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public boolean hasHealthCheckConfig() {
+ return healthCheckConfig_ != null;
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig getHealthCheckConfig() {
+ return healthCheckConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.getDefaultInstance() : healthCheckConfig_;
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfigOrBuilder getHealthCheckConfigOrBuilder() {
+ return getHealthCheckConfig();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (address_ != null) {
+ output.writeMessage(1, getAddress());
+ }
+ if (healthCheckConfig_ != null) {
+ output.writeMessage(2, getHealthCheckConfig());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (address_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getAddress());
+ }
+ if (healthCheckConfig_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getHealthCheckConfig());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint) obj;
+
+ boolean result = true;
+ result = result && (hasAddress() == other.hasAddress());
+ if (hasAddress()) {
+ result = result && getAddress()
+ .equals(other.getAddress());
+ }
+ result = result && (hasHealthCheckConfig() == other.hasHealthCheckConfig());
+ if (hasHealthCheckConfig()) {
+ result = result && getHealthCheckConfig()
+ .equals(other.getHealthCheckConfig());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasAddress()) {
+ hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
+ hash = (53 * hash) + getAddress().hashCode();
+ }
+ if (hasHealthCheckConfig()) {
+ hash = (37 * hash) + HEALTH_CHECK_CONFIG_FIELD_NUMBER;
+ hash = (53 * hash) + getHealthCheckConfig().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Upstream host identifier.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.Endpoint}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.Endpoint)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (addressBuilder_ == null) {
+ address_ = null;
+ } else {
+ address_ = null;
+ addressBuilder_ = null;
+ }
+ if (healthCheckConfigBuilder_ == null) {
+ healthCheckConfig_ = null;
+ } else {
+ healthCheckConfig_ = null;
+ healthCheckConfigBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_Endpoint_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint(this);
+ if (addressBuilder_ == null) {
+ result.address_ = address_;
+ } else {
+ result.address_ = addressBuilder_.build();
+ }
+ if (healthCheckConfigBuilder_ == null) {
+ result.healthCheckConfig_ = healthCheckConfig_;
+ } else {
+ result.healthCheckConfig_ = healthCheckConfigBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.getDefaultInstance()) return this;
+ if (other.hasAddress()) {
+ mergeAddress(other.getAddress());
+ }
+ if (other.hasHealthCheckConfig()) {
+ mergeHealthCheckConfig(other.getHealthCheckConfig());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Address address_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder> addressBuilder_;
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public boolean hasAddress() {
+ return addressBuilder_ != null || address_ != null;
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getAddress() {
+ if (addressBuilder_ == null) {
+ return address_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : address_;
+ } else {
+ return addressBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public Builder setAddress(io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (addressBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ address_ = value;
+ onChanged();
+ } else {
+ addressBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public Builder setAddress(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (addressBuilder_ == null) {
+ address_ = builderForValue.build();
+ onChanged();
+ } else {
+ addressBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public Builder mergeAddress(io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (addressBuilder_ == null) {
+ if (address_ != null) {
+ address_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.newBuilder(address_).mergeFrom(value).buildPartial();
+ } else {
+ address_ = value;
+ }
+ onChanged();
+ } else {
+ addressBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public Builder clearAddress() {
+ if (addressBuilder_ == null) {
+ address_ = null;
+ onChanged();
+ } else {
+ address_ = null;
+ addressBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder getAddressBuilder() {
+
+ onChanged();
+ return getAddressFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getAddressOrBuilder() {
+ if (addressBuilder_ != null) {
+ return addressBuilder_.getMessageOrBuilder();
+ } else {
+ return address_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : address_;
+ }
+ }
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getAddressFieldBuilder() {
+ if (addressBuilder_ == null) {
+ addressBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>(
+ getAddress(),
+ getParentForChildren(),
+ isClean());
+ address_ = null;
+ }
+ return addressBuilder_;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig healthCheckConfig_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfigOrBuilder> healthCheckConfigBuilder_;
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public boolean hasHealthCheckConfig() {
+ return healthCheckConfigBuilder_ != null || healthCheckConfig_ != null;
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig getHealthCheckConfig() {
+ if (healthCheckConfigBuilder_ == null) {
+ return healthCheckConfig_ == null ? io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.getDefaultInstance() : healthCheckConfig_;
+ } else {
+ return healthCheckConfigBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public Builder setHealthCheckConfig(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig value) {
+ if (healthCheckConfigBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ healthCheckConfig_ = value;
+ onChanged();
+ } else {
+ healthCheckConfigBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public Builder setHealthCheckConfig(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.Builder builderForValue) {
+ if (healthCheckConfigBuilder_ == null) {
+ healthCheckConfig_ = builderForValue.build();
+ onChanged();
+ } else {
+ healthCheckConfigBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public Builder mergeHealthCheckConfig(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig value) {
+ if (healthCheckConfigBuilder_ == null) {
+ if (healthCheckConfig_ != null) {
+ healthCheckConfig_ =
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.newBuilder(healthCheckConfig_).mergeFrom(value).buildPartial();
+ } else {
+ healthCheckConfig_ = value;
+ }
+ onChanged();
+ } else {
+ healthCheckConfigBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public Builder clearHealthCheckConfig() {
+ if (healthCheckConfigBuilder_ == null) {
+ healthCheckConfig_ = null;
+ onChanged();
+ } else {
+ healthCheckConfig_ = null;
+ healthCheckConfigBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.Builder getHealthCheckConfigBuilder() {
+
+ onChanged();
+ return getHealthCheckConfigFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfigOrBuilder getHealthCheckConfigOrBuilder() {
+ if (healthCheckConfigBuilder_ != null) {
+ return healthCheckConfigBuilder_.getMessageOrBuilder();
+ } else {
+ return healthCheckConfig_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.getDefaultInstance() : healthCheckConfig_;
+ }
+ }
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfigOrBuilder>
+ getHealthCheckConfigFieldBuilder() {
+ if (healthCheckConfigBuilder_ == null) {
+ healthCheckConfigBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfigOrBuilder>(
+ getHealthCheckConfig(),
+ getParentForChildren(),
+ isClean());
+ healthCheckConfig_ = null;
+ }
+ return healthCheckConfigBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.Endpoint)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.Endpoint)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Endpoint>
+ PARSER = new com.google.protobuf.AbstractParser<Endpoint>() {
+ public Endpoint parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Endpoint(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Endpoint> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Endpoint> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointLoadMetricStats.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointLoadMetricStats.java
new file mode 100644
index 000000000..9559bb26f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointLoadMetricStats.java
@@ -0,0 +1,708 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+/**
+ * <pre>
+ * [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.EndpointLoadMetricStats}
+ */
+public final class EndpointLoadMetricStats extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.EndpointLoadMetricStats)
+ EndpointLoadMetricStatsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use EndpointLoadMetricStats.newBuilder() to construct.
+ private EndpointLoadMetricStats(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private EndpointLoadMetricStats() {
+ metricName_ = "";
+ numRequestsFinishedWithMetric_ = 0L;
+ totalMetricValue_ = 0D;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private EndpointLoadMetricStats(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ metricName_ = s;
+ break;
+ }
+ case 16: {
+
+ numRequestsFinishedWithMetric_ = input.readUInt64();
+ break;
+ }
+ case 25: {
+
+ totalMetricValue_ = input.readDouble();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder.class);
+ }
+
+ public static final int METRIC_NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object metricName_;
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ public java.lang.String getMetricName() {
+ java.lang.Object ref = metricName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ metricName_ = s;
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getMetricNameBytes() {
+ java.lang.Object ref = metricName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ metricName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int NUM_REQUESTS_FINISHED_WITH_METRIC_FIELD_NUMBER = 2;
+ private long numRequestsFinishedWithMetric_;
+ /**
+ * <pre>
+ * Number of calls that finished and included this metric.
+ * </pre>
+ *
+ * <code>uint64 num_requests_finished_with_metric = 2;</code>
+ */
+ public long getNumRequestsFinishedWithMetric() {
+ return numRequestsFinishedWithMetric_;
+ }
+
+ public static final int TOTAL_METRIC_VALUE_FIELD_NUMBER = 3;
+ private double totalMetricValue_;
+ /**
+ * <pre>
+ * Sum of metric values across all calls that finished with this metric for
+ * load_reporting_interval.
+ * </pre>
+ *
+ * <code>double total_metric_value = 3;</code>
+ */
+ public double getTotalMetricValue() {
+ return totalMetricValue_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getMetricNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, metricName_);
+ }
+ if (numRequestsFinishedWithMetric_ != 0L) {
+ output.writeUInt64(2, numRequestsFinishedWithMetric_);
+ }
+ if (totalMetricValue_ != 0D) {
+ output.writeDouble(3, totalMetricValue_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getMetricNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, metricName_);
+ }
+ if (numRequestsFinishedWithMetric_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, numRequestsFinishedWithMetric_);
+ }
+ if (totalMetricValue_ != 0D) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(3, totalMetricValue_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats) obj;
+
+ boolean result = true;
+ result = result && getMetricName()
+ .equals(other.getMetricName());
+ result = result && (getNumRequestsFinishedWithMetric()
+ == other.getNumRequestsFinishedWithMetric());
+ result = result && (
+ java.lang.Double.doubleToLongBits(getTotalMetricValue())
+ == java.lang.Double.doubleToLongBits(
+ other.getTotalMetricValue()));
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + METRIC_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getMetricName().hashCode();
+ hash = (37 * hash) + NUM_REQUESTS_FINISHED_WITH_METRIC_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getNumRequestsFinishedWithMetric());
+ hash = (37 * hash) + TOTAL_METRIC_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getTotalMetricValue()));
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.EndpointLoadMetricStats}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.EndpointLoadMetricStats)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ metricName_ = "";
+
+ numRequestsFinishedWithMetric_ = 0L;
+
+ totalMetricValue_ = 0D;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats(this);
+ result.metricName_ = metricName_;
+ result.numRequestsFinishedWithMetric_ = numRequestsFinishedWithMetric_;
+ result.totalMetricValue_ = totalMetricValue_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.getDefaultInstance()) return this;
+ if (!other.getMetricName().isEmpty()) {
+ metricName_ = other.metricName_;
+ onChanged();
+ }
+ if (other.getNumRequestsFinishedWithMetric() != 0L) {
+ setNumRequestsFinishedWithMetric(other.getNumRequestsFinishedWithMetric());
+ }
+ if (other.getTotalMetricValue() != 0D) {
+ setTotalMetricValue(other.getTotalMetricValue());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object metricName_ = "";
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ public java.lang.String getMetricName() {
+ java.lang.Object ref = metricName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ metricName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getMetricNameBytes() {
+ java.lang.Object ref = metricName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ metricName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ public Builder setMetricName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ metricName_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ public Builder clearMetricName() {
+
+ metricName_ = getDefaultInstance().getMetricName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ public Builder setMetricNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ metricName_ = value;
+ onChanged();
+ return this;
+ }
+
+ private long numRequestsFinishedWithMetric_ ;
+ /**
+ * <pre>
+ * Number of calls that finished and included this metric.
+ * </pre>
+ *
+ * <code>uint64 num_requests_finished_with_metric = 2;</code>
+ */
+ public long getNumRequestsFinishedWithMetric() {
+ return numRequestsFinishedWithMetric_;
+ }
+ /**
+ * <pre>
+ * Number of calls that finished and included this metric.
+ * </pre>
+ *
+ * <code>uint64 num_requests_finished_with_metric = 2;</code>
+ */
+ public Builder setNumRequestsFinishedWithMetric(long value) {
+
+ numRequestsFinishedWithMetric_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Number of calls that finished and included this metric.
+ * </pre>
+ *
+ * <code>uint64 num_requests_finished_with_metric = 2;</code>
+ */
+ public Builder clearNumRequestsFinishedWithMetric() {
+
+ numRequestsFinishedWithMetric_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private double totalMetricValue_ ;
+ /**
+ * <pre>
+ * Sum of metric values across all calls that finished with this metric for
+ * load_reporting_interval.
+ * </pre>
+ *
+ * <code>double total_metric_value = 3;</code>
+ */
+ public double getTotalMetricValue() {
+ return totalMetricValue_;
+ }
+ /**
+ * <pre>
+ * Sum of metric values across all calls that finished with this metric for
+ * load_reporting_interval.
+ * </pre>
+ *
+ * <code>double total_metric_value = 3;</code>
+ */
+ public Builder setTotalMetricValue(double value) {
+
+ totalMetricValue_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Sum of metric values across all calls that finished with this metric for
+ * load_reporting_interval.
+ * </pre>
+ *
+ * <code>double total_metric_value = 3;</code>
+ */
+ public Builder clearTotalMetricValue() {
+
+ totalMetricValue_ = 0D;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.EndpointLoadMetricStats)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.EndpointLoadMetricStats)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<EndpointLoadMetricStats>
+ PARSER = new com.google.protobuf.AbstractParser<EndpointLoadMetricStats>() {
+ public EndpointLoadMetricStats parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new EndpointLoadMetricStats(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<EndpointLoadMetricStats> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<EndpointLoadMetricStats> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointLoadMetricStatsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointLoadMetricStatsOrBuilder.java
new file mode 100644
index 000000000..8d9c6000a
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointLoadMetricStatsOrBuilder.java
@@ -0,0 +1,46 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public interface EndpointLoadMetricStatsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.EndpointLoadMetricStats)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ java.lang.String getMetricName();
+ /**
+ * <pre>
+ * Name of the metric; may be empty.
+ * </pre>
+ *
+ * <code>string metric_name = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getMetricNameBytes();
+
+ /**
+ * <pre>
+ * Number of calls that finished and included this metric.
+ * </pre>
+ *
+ * <code>uint64 num_requests_finished_with_metric = 2;</code>
+ */
+ long getNumRequestsFinishedWithMetric();
+
+ /**
+ * <pre>
+ * Sum of metric values across all calls that finished with this metric for
+ * load_reporting_interval.
+ * </pre>
+ *
+ * <code>double total_metric_value = 3;</code>
+ */
+ double getTotalMetricValue();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointOrBuilder.java
new file mode 100644
index 000000000..7e10baa51
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointOrBuilder.java
@@ -0,0 +1,89 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/endpoint.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public interface EndpointOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.Endpoint)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ boolean hasAddress();
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Address getAddress();
+ /**
+ * <pre>
+ * The upstream host address.
+ * .. attention::
+ * The form of host address depends on the given cluster type. For STATIC or EDS,
+ * it is expected to be a direct IP address (or something resolvable by the
+ * specified :ref:`resolver &lt;envoy_api_field_core.SocketAddress.resolver_name&gt;`
+ * in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ * and will be resolved via DNS.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getAddressOrBuilder();
+
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ boolean hasHealthCheckConfig();
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig getHealthCheckConfig();
+ /**
+ * <pre>
+ * The optional health check configuration is used as configuration for the
+ * health checker to contact the health checked host.
+ * .. attention::
+ * This takes into effect only for upstream clusters with
+ * :ref:`active health checking &lt;arch_overview_health_checking&gt;` enabled.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint.HealthCheckConfig health_check_config = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.HealthCheckConfigOrBuilder getHealthCheckConfigOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointOuterClass.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointOuterClass.java
new file mode 100644
index 000000000..0a8568725
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/EndpointOuterClass.java
@@ -0,0 +1,125 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/endpoint.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public final class EndpointOuterClass {
+ private EndpointOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_Endpoint_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_Endpoint_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_LbEndpoint_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_LbEndpoint_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n$envoy/api/v2/endpoint/endpoint.proto\022\025" +
+ "envoy.api.v2.endpoint\032\037envoy/api/v2/core" +
+ "/address.proto\032\034envoy/api/v2/core/base.p" +
+ "roto\032$envoy/api/v2/core/health_check.pro" +
+ "to\032\036google/protobuf/wrappers.proto\032\027vali" +
+ "date/validate.proto\"\275\001\n\010Endpoint\022+\n\007addr" +
+ "ess\030\001 \001(\0132\032.envoy.api.v2.core.Address\022N\n" +
+ "\023health_check_config\030\002 \001(\01321.envoy.api.v" +
+ "2.endpoint.Endpoint.HealthCheckConfig\0324\n" +
+ "\021HealthCheckConfig\022\037\n\nport_value\030\001 \001(\rB\013" +
+ "\272\351\300\003\006*\004\030\377\377\003\"\361\001\n\nLbEndpoint\0221\n\010endpoint\030\001" +
+ " \001(\0132\037.envoy.api.v2.endpoint.Endpoint\0226\n" +
+ "\rhealth_status\030\002 \001(\0162\037.envoy.api.v2.core" +
+ ".HealthStatus\022-\n\010metadata\030\003 \001(\0132\033.envoy." +
+ "api.v2.core.Metadata\022I\n\025load_balancing_w" +
+ "eight\030\004 \001(\0132\034.google.protobuf.UInt32Valu" +
+ "eB\014\272\351\300\003\007*\005\030\200\001(\001\"\346\001\n\023LocalityLbEndpoints\022" +
+ "-\n\010locality\030\001 \001(\0132\033.envoy.api.v2.core.Lo" +
+ "cality\0227\n\014lb_endpoints\030\002 \003(\0132!.envoy.api" +
+ ".v2.endpoint.LbEndpoint\022I\n\025load_balancin" +
+ "g_weight\030\003 \001(\0132\034.google.protobuf.UInt32V" +
+ "alueB\014\272\351\300\003\007*\005\030\200\001(\001\022\034\n\010priority\030\005 \001(\rB\n\272\351" +
+ "\300\003\005*\003\030\200\001B6\n(io.grpc.xds.shaded.envoy.api" +
+ ".v2.endpointP\001Z\010endpointb\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.getDescriptor(),
+ com.google.protobuf.WrappersProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_endpoint_Endpoint_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_endpoint_Endpoint_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_Endpoint_descriptor,
+ new java.lang.String[] { "Address", "HealthCheckConfig", });
+ internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_descriptor =
+ internal_static_envoy_api_v2_endpoint_Endpoint_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_Endpoint_HealthCheckConfig_descriptor,
+ new java.lang.String[] { "PortValue", });
+ internal_static_envoy_api_v2_endpoint_LbEndpoint_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_endpoint_LbEndpoint_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_LbEndpoint_descriptor,
+ new java.lang.String[] { "Endpoint", "HealthStatus", "Metadata", "LoadBalancingWeight", });
+ internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_descriptor,
+ new java.lang.String[] { "Locality", "LbEndpoints", "LoadBalancingWeight", "Priority", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthCheckOuterClass.getDescriptor();
+ com.google.protobuf.WrappersProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LbEndpoint.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LbEndpoint.java
new file mode 100644
index 000000000..f9ad34bbc
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LbEndpoint.java
@@ -0,0 +1,1399 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/endpoint.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+/**
+ * <pre>
+ * An Endpoint that Envoy can route traffic to.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.LbEndpoint}
+ */
+public final class LbEndpoint extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.LbEndpoint)
+ LbEndpointOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use LbEndpoint.newBuilder() to construct.
+ private LbEndpoint(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private LbEndpoint() {
+ healthStatus_ = 0;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private LbEndpoint(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.Builder subBuilder = null;
+ if (endpoint_ != null) {
+ subBuilder = endpoint_.toBuilder();
+ }
+ endpoint_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(endpoint_);
+ endpoint_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 16: {
+ int rawValue = input.readEnum();
+
+ healthStatus_ = rawValue;
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder subBuilder = null;
+ if (metadata_ != null) {
+ subBuilder = metadata_.toBuilder();
+ }
+ metadata_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Metadata.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(metadata_);
+ metadata_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 34: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (loadBalancingWeight_ != null) {
+ subBuilder = loadBalancingWeight_.toBuilder();
+ }
+ loadBalancingWeight_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(loadBalancingWeight_);
+ loadBalancingWeight_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LbEndpoint_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LbEndpoint_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder.class);
+ }
+
+ public static final int ENDPOINT_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint endpoint_;
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public boolean hasEndpoint() {
+ return endpoint_ != null;
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint getEndpoint() {
+ return endpoint_ == null ? io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.getDefaultInstance() : endpoint_;
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOrBuilder getEndpointOrBuilder() {
+ return getEndpoint();
+ }
+
+ public static final int HEALTH_STATUS_FIELD_NUMBER = 2;
+ private int healthStatus_;
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ public int getHealthStatusValue() {
+ return healthStatus_;
+ }
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus getHealthStatus() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus result = io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus.valueOf(healthStatus_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus.UNRECOGNIZED : result;
+ }
+
+ public static final int METADATA_FIELD_NUMBER = 3;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Metadata metadata_;
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public boolean hasMetadata() {
+ return metadata_ != null;
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata getMetadata() {
+ return metadata_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Metadata.getDefaultInstance() : metadata_;
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder getMetadataOrBuilder() {
+ return getMetadata();
+ }
+
+ public static final int LOAD_BALANCING_WEIGHT_FIELD_NUMBER = 4;
+ private com.google.protobuf.UInt32Value loadBalancingWeight_;
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasLoadBalancingWeight() {
+ return loadBalancingWeight_ != null;
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getLoadBalancingWeight() {
+ return loadBalancingWeight_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : loadBalancingWeight_;
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getLoadBalancingWeightOrBuilder() {
+ return getLoadBalancingWeight();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (endpoint_ != null) {
+ output.writeMessage(1, getEndpoint());
+ }
+ if (healthStatus_ != io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus.UNKNOWN.getNumber()) {
+ output.writeEnum(2, healthStatus_);
+ }
+ if (metadata_ != null) {
+ output.writeMessage(3, getMetadata());
+ }
+ if (loadBalancingWeight_ != null) {
+ output.writeMessage(4, getLoadBalancingWeight());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (endpoint_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getEndpoint());
+ }
+ if (healthStatus_ != io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus.UNKNOWN.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(2, healthStatus_);
+ }
+ if (metadata_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getMetadata());
+ }
+ if (loadBalancingWeight_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getLoadBalancingWeight());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint) obj;
+
+ boolean result = true;
+ result = result && (hasEndpoint() == other.hasEndpoint());
+ if (hasEndpoint()) {
+ result = result && getEndpoint()
+ .equals(other.getEndpoint());
+ }
+ result = result && healthStatus_ == other.healthStatus_;
+ result = result && (hasMetadata() == other.hasMetadata());
+ if (hasMetadata()) {
+ result = result && getMetadata()
+ .equals(other.getMetadata());
+ }
+ result = result && (hasLoadBalancingWeight() == other.hasLoadBalancingWeight());
+ if (hasLoadBalancingWeight()) {
+ result = result && getLoadBalancingWeight()
+ .equals(other.getLoadBalancingWeight());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasEndpoint()) {
+ hash = (37 * hash) + ENDPOINT_FIELD_NUMBER;
+ hash = (53 * hash) + getEndpoint().hashCode();
+ }
+ hash = (37 * hash) + HEALTH_STATUS_FIELD_NUMBER;
+ hash = (53 * hash) + healthStatus_;
+ if (hasMetadata()) {
+ hash = (37 * hash) + METADATA_FIELD_NUMBER;
+ hash = (53 * hash) + getMetadata().hashCode();
+ }
+ if (hasLoadBalancingWeight()) {
+ hash = (37 * hash) + LOAD_BALANCING_WEIGHT_FIELD_NUMBER;
+ hash = (53 * hash) + getLoadBalancingWeight().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * An Endpoint that Envoy can route traffic to.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.LbEndpoint}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.LbEndpoint)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LbEndpoint_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LbEndpoint_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (endpointBuilder_ == null) {
+ endpoint_ = null;
+ } else {
+ endpoint_ = null;
+ endpointBuilder_ = null;
+ }
+ healthStatus_ = 0;
+
+ if (metadataBuilder_ == null) {
+ metadata_ = null;
+ } else {
+ metadata_ = null;
+ metadataBuilder_ = null;
+ }
+ if (loadBalancingWeightBuilder_ == null) {
+ loadBalancingWeight_ = null;
+ } else {
+ loadBalancingWeight_ = null;
+ loadBalancingWeightBuilder_ = null;
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LbEndpoint_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint(this);
+ if (endpointBuilder_ == null) {
+ result.endpoint_ = endpoint_;
+ } else {
+ result.endpoint_ = endpointBuilder_.build();
+ }
+ result.healthStatus_ = healthStatus_;
+ if (metadataBuilder_ == null) {
+ result.metadata_ = metadata_;
+ } else {
+ result.metadata_ = metadataBuilder_.build();
+ }
+ if (loadBalancingWeightBuilder_ == null) {
+ result.loadBalancingWeight_ = loadBalancingWeight_;
+ } else {
+ result.loadBalancingWeight_ = loadBalancingWeightBuilder_.build();
+ }
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.getDefaultInstance()) return this;
+ if (other.hasEndpoint()) {
+ mergeEndpoint(other.getEndpoint());
+ }
+ if (other.healthStatus_ != 0) {
+ setHealthStatusValue(other.getHealthStatusValue());
+ }
+ if (other.hasMetadata()) {
+ mergeMetadata(other.getMetadata());
+ }
+ if (other.hasLoadBalancingWeight()) {
+ mergeLoadBalancingWeight(other.getLoadBalancingWeight());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint endpoint_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOrBuilder> endpointBuilder_;
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public boolean hasEndpoint() {
+ return endpointBuilder_ != null || endpoint_ != null;
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint getEndpoint() {
+ if (endpointBuilder_ == null) {
+ return endpoint_ == null ? io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.getDefaultInstance() : endpoint_;
+ } else {
+ return endpointBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public Builder setEndpoint(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint value) {
+ if (endpointBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ endpoint_ = value;
+ onChanged();
+ } else {
+ endpointBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public Builder setEndpoint(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.Builder builderForValue) {
+ if (endpointBuilder_ == null) {
+ endpoint_ = builderForValue.build();
+ onChanged();
+ } else {
+ endpointBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public Builder mergeEndpoint(io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint value) {
+ if (endpointBuilder_ == null) {
+ if (endpoint_ != null) {
+ endpoint_ =
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.newBuilder(endpoint_).mergeFrom(value).buildPartial();
+ } else {
+ endpoint_ = value;
+ }
+ onChanged();
+ } else {
+ endpointBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public Builder clearEndpoint() {
+ if (endpointBuilder_ == null) {
+ endpoint_ = null;
+ onChanged();
+ } else {
+ endpoint_ = null;
+ endpointBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.Builder getEndpointBuilder() {
+
+ onChanged();
+ return getEndpointFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOrBuilder getEndpointOrBuilder() {
+ if (endpointBuilder_ != null) {
+ return endpointBuilder_.getMessageOrBuilder();
+ } else {
+ return endpoint_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.getDefaultInstance() : endpoint_;
+ }
+ }
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOrBuilder>
+ getEndpointFieldBuilder() {
+ if (endpointBuilder_ == null) {
+ endpointBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint, io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOrBuilder>(
+ getEndpoint(),
+ getParentForChildren(),
+ isClean());
+ endpoint_ = null;
+ }
+ return endpointBuilder_;
+ }
+
+ private int healthStatus_ = 0;
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ public int getHealthStatusValue() {
+ return healthStatus_;
+ }
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ public Builder setHealthStatusValue(int value) {
+ healthStatus_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus getHealthStatus() {
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus result = io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus.valueOf(healthStatus_);
+ return result == null ? io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ public Builder setHealthStatus(io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ healthStatus_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ public Builder clearHealthStatus() {
+
+ healthStatus_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Metadata metadata_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata, io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder, io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder> metadataBuilder_;
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public boolean hasMetadata() {
+ return metadataBuilder_ != null || metadata_ != null;
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata getMetadata() {
+ if (metadataBuilder_ == null) {
+ return metadata_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Metadata.getDefaultInstance() : metadata_;
+ } else {
+ return metadataBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public Builder setMetadata(io.grpc.xds.shaded.envoy.api.v2.core.Metadata value) {
+ if (metadataBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ metadata_ = value;
+ onChanged();
+ } else {
+ metadataBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public Builder setMetadata(
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder builderForValue) {
+ if (metadataBuilder_ == null) {
+ metadata_ = builderForValue.build();
+ onChanged();
+ } else {
+ metadataBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public Builder mergeMetadata(io.grpc.xds.shaded.envoy.api.v2.core.Metadata value) {
+ if (metadataBuilder_ == null) {
+ if (metadata_ != null) {
+ metadata_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial();
+ } else {
+ metadata_ = value;
+ }
+ onChanged();
+ } else {
+ metadataBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public Builder clearMetadata() {
+ if (metadataBuilder_ == null) {
+ metadata_ = null;
+ onChanged();
+ } else {
+ metadata_ = null;
+ metadataBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder getMetadataBuilder() {
+
+ onChanged();
+ return getMetadataFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder getMetadataOrBuilder() {
+ if (metadataBuilder_ != null) {
+ return metadataBuilder_.getMessageOrBuilder();
+ } else {
+ return metadata_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata.getDefaultInstance() : metadata_;
+ }
+ }
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata, io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder, io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder>
+ getMetadataFieldBuilder() {
+ if (metadataBuilder_ == null) {
+ metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata, io.grpc.xds.shaded.envoy.api.v2.core.Metadata.Builder, io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder>(
+ getMetadata(),
+ getParentForChildren(),
+ isClean());
+ metadata_ = null;
+ }
+ return metadataBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value loadBalancingWeight_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> loadBalancingWeightBuilder_;
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasLoadBalancingWeight() {
+ return loadBalancingWeightBuilder_ != null || loadBalancingWeight_ != null;
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getLoadBalancingWeight() {
+ if (loadBalancingWeightBuilder_ == null) {
+ return loadBalancingWeight_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : loadBalancingWeight_;
+ } else {
+ return loadBalancingWeightBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setLoadBalancingWeight(com.google.protobuf.UInt32Value value) {
+ if (loadBalancingWeightBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ loadBalancingWeight_ = value;
+ onChanged();
+ } else {
+ loadBalancingWeightBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setLoadBalancingWeight(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (loadBalancingWeightBuilder_ == null) {
+ loadBalancingWeight_ = builderForValue.build();
+ onChanged();
+ } else {
+ loadBalancingWeightBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeLoadBalancingWeight(com.google.protobuf.UInt32Value value) {
+ if (loadBalancingWeightBuilder_ == null) {
+ if (loadBalancingWeight_ != null) {
+ loadBalancingWeight_ =
+ com.google.protobuf.UInt32Value.newBuilder(loadBalancingWeight_).mergeFrom(value).buildPartial();
+ } else {
+ loadBalancingWeight_ = value;
+ }
+ onChanged();
+ } else {
+ loadBalancingWeightBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearLoadBalancingWeight() {
+ if (loadBalancingWeightBuilder_ == null) {
+ loadBalancingWeight_ = null;
+ onChanged();
+ } else {
+ loadBalancingWeight_ = null;
+ loadBalancingWeightBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getLoadBalancingWeightBuilder() {
+
+ onChanged();
+ return getLoadBalancingWeightFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getLoadBalancingWeightOrBuilder() {
+ if (loadBalancingWeightBuilder_ != null) {
+ return loadBalancingWeightBuilder_.getMessageOrBuilder();
+ } else {
+ return loadBalancingWeight_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : loadBalancingWeight_;
+ }
+ }
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getLoadBalancingWeightFieldBuilder() {
+ if (loadBalancingWeightBuilder_ == null) {
+ loadBalancingWeightBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getLoadBalancingWeight(),
+ getParentForChildren(),
+ isClean());
+ loadBalancingWeight_ = null;
+ }
+ return loadBalancingWeightBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.LbEndpoint)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.LbEndpoint)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<LbEndpoint>
+ PARSER = new com.google.protobuf.AbstractParser<LbEndpoint>() {
+ public LbEndpoint parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new LbEndpoint(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<LbEndpoint> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<LbEndpoint> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LbEndpointOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LbEndpointOrBuilder.java
new file mode 100644
index 000000000..468c380e7
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LbEndpointOrBuilder.java
@@ -0,0 +1,152 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/endpoint.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public interface LbEndpointOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.LbEndpoint)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ boolean hasEndpoint();
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.Endpoint getEndpoint();
+ /**
+ * <pre>
+ * Upstream host identifier
+ * </pre>
+ *
+ * <code>.envoy.api.v2.endpoint.Endpoint endpoint = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOrBuilder getEndpointOrBuilder();
+
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ int getHealthStatusValue();
+ /**
+ * <pre>
+ * Optional health status when known and supplied by EDS server.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.HealthStatus health_status = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.HealthStatus getHealthStatus();
+
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ boolean hasMetadata();
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Metadata getMetadata();
+ /**
+ * <pre>
+ * The endpoint metadata specifies values that may be used by the load
+ * balancer to select endpoints in a cluster for a given request. The filter
+ * name should be specified as *envoy.lb*. An example boolean key-value pair
+ * is *canary*, providing the optional canary status of the upstream host.
+ * This may be matched against in a route's
+ * :ref:`RouteAction &lt;envoy_api_msg_route.RouteAction&gt;` metadata_match field
+ * to subset the endpoints considered in cluster load balancing.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Metadata metadata = 3;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.MetadataOrBuilder getMetadataOrBuilder();
+
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasLoadBalancingWeight();
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getLoadBalancingWeight();
+ /**
+ * <pre>
+ * The optional load balancing weight of the upstream host, in the range 1 -
+ * 128. Envoy uses the load balancing weight in some of the built in load
+ * balancers. The load balancing weight for an endpoint is divided by the sum
+ * of the weights of all endpoints in the endpoint's locality to produce a
+ * percentage of traffic for the endpoint. This percentage is then further
+ * weighted by the endpoint's locality's load balancing weight from
+ * LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ * weight in a locality.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 4 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getLoadBalancingWeightOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LoadReport.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LoadReport.java
new file mode 100644
index 000000000..01bcf6549
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LoadReport.java
@@ -0,0 +1,148 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public final class LoadReport {
+ private LoadReport() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_ClusterStats_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_ClusterStats_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\'envoy/api/v2/endpoint/load_report.prot" +
+ "o\022\025envoy.api.v2.endpoint\032\037envoy/api/v2/c" +
+ "ore/address.proto\032\034envoy/api/v2/core/bas" +
+ "e.proto\032\036google/protobuf/duration.proto\032" +
+ "\034google/protobuf/struct.proto\032\027validate/" +
+ "validate.proto\"\327\002\n\025UpstreamLocalityStats" +
+ "\022-\n\010locality\030\001 \001(\0132\033.envoy.api.v2.core.L" +
+ "ocality\022!\n\031total_successful_requests\030\002 \001" +
+ "(\004\022\"\n\032total_requests_in_progress\030\003 \001(\004\022\034" +
+ "\n\024total_error_requests\030\004 \001(\004\022I\n\021load_met" +
+ "ric_stats\030\005 \003(\0132..envoy.api.v2.endpoint." +
+ "EndpointLoadMetricStats\022M\n\027upstream_endp" +
+ "oint_stats\030\007 \003(\0132,.envoy.api.v2.endpoint" +
+ ".UpstreamEndpointStats\022\020\n\010priority\030\006 \001(\r" +
+ "\"\237\002\n\025UpstreamEndpointStats\022+\n\007address\030\001 " +
+ "\001(\0132\032.envoy.api.v2.core.Address\022)\n\010metad" +
+ "ata\030\006 \001(\0132\027.google.protobuf.Struct\022!\n\031to" +
+ "tal_successful_requests\030\002 \001(\004\022\"\n\032total_r" +
+ "equests_in_progress\030\003 \001(\004\022\034\n\024total_error" +
+ "_requests\030\004 \001(\004\022I\n\021load_metric_stats\030\005 \003" +
+ "(\0132..envoy.api.v2.endpoint.EndpointLoadM" +
+ "etricStats\"u\n\027EndpointLoadMetricStats\022\023\n" +
+ "\013metric_name\030\001 \001(\t\022)\n!num_requests_finis" +
+ "hed_with_metric\030\002 \001(\004\022\032\n\022total_metric_va" +
+ "lue\030\003 \001(\001\"\371\002\n\014ClusterStats\022\037\n\014cluster_na" +
+ "me\030\001 \001(\tB\t\272\351\300\003\004r\002 \001\022Y\n\027upstream_locality" +
+ "_stats\030\002 \003(\0132,.envoy.api.v2.endpoint.Ups" +
+ "treamLocalityStatsB\n\272\351\300\003\005\222\001\002\010\001\022\036\n\026total_" +
+ "dropped_requests\030\003 \001(\004\022M\n\020dropped_reques" +
+ "ts\030\005 \003(\01323.envoy.api.v2.endpoint.Cluster" +
+ "Stats.DroppedRequests\0227\n\024load_report_int" +
+ "erval\030\004 \001(\0132\031.google.protobuf.Duration\032E" +
+ "\n\017DroppedRequests\022\033\n\010category\030\001 \001(\tB\t\272\351\300" +
+ "\003\004r\002 \001\022\025\n\rdropped_count\030\002 \001(\004B,\n(io.grpc" +
+ ".xds.shaded.envoy.api.v2.endpointP\001b\006pro" +
+ "to3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.getDescriptor(),
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor(),
+ com.google.protobuf.DurationProto.getDescriptor(),
+ com.google.protobuf.StructProto.getDescriptor(),
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_descriptor,
+ new java.lang.String[] { "Locality", "TotalSuccessfulRequests", "TotalRequestsInProgress", "TotalErrorRequests", "LoadMetricStats", "UpstreamEndpointStats", "Priority", });
+ internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_descriptor,
+ new java.lang.String[] { "Address", "Metadata", "TotalSuccessfulRequests", "TotalRequestsInProgress", "TotalErrorRequests", "LoadMetricStats", });
+ internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_EndpointLoadMetricStats_descriptor,
+ new java.lang.String[] { "MetricName", "NumRequestsFinishedWithMetric", "TotalMetricValue", });
+ internal_static_envoy_api_v2_endpoint_ClusterStats_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_envoy_api_v2_endpoint_ClusterStats_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_ClusterStats_descriptor,
+ new java.lang.String[] { "ClusterName", "UpstreamLocalityStats", "TotalDroppedRequests", "DroppedRequests", "LoadReportInterval", });
+ internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_descriptor =
+ internal_static_envoy_api_v2_endpoint_ClusterStats_descriptor.getNestedTypes().get(0);
+ internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_api_v2_endpoint_ClusterStats_DroppedRequests_descriptor,
+ new java.lang.String[] { "Category", "DroppedCount", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOuterClass.getDescriptor();
+ io.grpc.xds.shaded.envoy.api.v2.core.Base.getDescriptor();
+ com.google.protobuf.DurationProto.getDescriptor();
+ com.google.protobuf.StructProto.getDescriptor();
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LocalityLbEndpoints.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LocalityLbEndpoints.java
new file mode 100644
index 000000000..e583524d1
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LocalityLbEndpoints.java
@@ -0,0 +1,1543 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/endpoint.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+/**
+ * <pre>
+ * A group of endpoints belonging to a Locality.
+ * One can have multiple LocalityLbEndpoints for a locality, but this is
+ * generally only done if the different groups need to have different load
+ * balancing weights or different priorities.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.LocalityLbEndpoints}
+ */
+public final class LocalityLbEndpoints extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.LocalityLbEndpoints)
+ LocalityLbEndpointsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use LocalityLbEndpoints.newBuilder() to construct.
+ private LocalityLbEndpoints(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private LocalityLbEndpoints() {
+ lbEndpoints_ = java.util.Collections.emptyList();
+ priority_ = 0;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private LocalityLbEndpoints(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder subBuilder = null;
+ if (locality_ != null) {
+ subBuilder = locality_.toBuilder();
+ }
+ locality_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Locality.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(locality_);
+ locality_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 18: {
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ lbEndpoints_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint>();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ lbEndpoints_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.parser(), extensionRegistry));
+ break;
+ }
+ case 26: {
+ com.google.protobuf.UInt32Value.Builder subBuilder = null;
+ if (loadBalancingWeight_ != null) {
+ subBuilder = loadBalancingWeight_.toBuilder();
+ }
+ loadBalancingWeight_ = input.readMessage(com.google.protobuf.UInt32Value.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(loadBalancingWeight_);
+ loadBalancingWeight_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 40: {
+
+ priority_ = input.readUInt32();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ lbEndpoints_ = java.util.Collections.unmodifiableList(lbEndpoints_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int LOCALITY_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Locality locality_;
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public boolean hasLocality() {
+ return locality_ != null;
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality() {
+ return locality_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder() {
+ return getLocality();
+ }
+
+ public static final int LB_ENDPOINTS_FIELD_NUMBER = 2;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint> lbEndpoints_;
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint> getLbEndpointsList() {
+ return lbEndpoints_;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder>
+ getLbEndpointsOrBuilderList() {
+ return lbEndpoints_;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public int getLbEndpointsCount() {
+ return lbEndpoints_.size();
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint getLbEndpoints(int index) {
+ return lbEndpoints_.get(index);
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder getLbEndpointsOrBuilder(
+ int index) {
+ return lbEndpoints_.get(index);
+ }
+
+ public static final int LOAD_BALANCING_WEIGHT_FIELD_NUMBER = 3;
+ private com.google.protobuf.UInt32Value loadBalancingWeight_;
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasLoadBalancingWeight() {
+ return loadBalancingWeight_ != null;
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getLoadBalancingWeight() {
+ return loadBalancingWeight_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : loadBalancingWeight_;
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getLoadBalancingWeightOrBuilder() {
+ return getLoadBalancingWeight();
+ }
+
+ public static final int PRIORITY_FIELD_NUMBER = 5;
+ private int priority_;
+ /**
+ * <pre>
+ * Optional: the priority for this LocalityLbEndpoints. If unspecified this will
+ * default to the highest priority (0).
+ * Under usual circumstances, Envoy will only select endpoints for the highest
+ * priority (0). In the event all endpoints for a particular priority are
+ * unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
+ * next highest priority group.
+ * Priorities should range from 0 (highest) to N (lowest) without skipping.
+ * </pre>
+ *
+ * <code>uint32 priority = 5 [(.validate.rules) = { ... }</code>
+ */
+ public int getPriority() {
+ return priority_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (locality_ != null) {
+ output.writeMessage(1, getLocality());
+ }
+ for (int i = 0; i < lbEndpoints_.size(); i++) {
+ output.writeMessage(2, lbEndpoints_.get(i));
+ }
+ if (loadBalancingWeight_ != null) {
+ output.writeMessage(3, getLoadBalancingWeight());
+ }
+ if (priority_ != 0) {
+ output.writeUInt32(5, priority_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (locality_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getLocality());
+ }
+ for (int i = 0; i < lbEndpoints_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, lbEndpoints_.get(i));
+ }
+ if (loadBalancingWeight_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getLoadBalancingWeight());
+ }
+ if (priority_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(5, priority_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints) obj;
+
+ boolean result = true;
+ result = result && (hasLocality() == other.hasLocality());
+ if (hasLocality()) {
+ result = result && getLocality()
+ .equals(other.getLocality());
+ }
+ result = result && getLbEndpointsList()
+ .equals(other.getLbEndpointsList());
+ result = result && (hasLoadBalancingWeight() == other.hasLoadBalancingWeight());
+ if (hasLoadBalancingWeight()) {
+ result = result && getLoadBalancingWeight()
+ .equals(other.getLoadBalancingWeight());
+ }
+ result = result && (getPriority()
+ == other.getPriority());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasLocality()) {
+ hash = (37 * hash) + LOCALITY_FIELD_NUMBER;
+ hash = (53 * hash) + getLocality().hashCode();
+ }
+ if (getLbEndpointsCount() > 0) {
+ hash = (37 * hash) + LB_ENDPOINTS_FIELD_NUMBER;
+ hash = (53 * hash) + getLbEndpointsList().hashCode();
+ }
+ if (hasLoadBalancingWeight()) {
+ hash = (37 * hash) + LOAD_BALANCING_WEIGHT_FIELD_NUMBER;
+ hash = (53 * hash) + getLoadBalancingWeight().hashCode();
+ }
+ hash = (37 * hash) + PRIORITY_FIELD_NUMBER;
+ hash = (53 * hash) + getPriority();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * A group of endpoints belonging to a Locality.
+ * One can have multiple LocalityLbEndpoints for a locality, but this is
+ * generally only done if the different groups need to have different load
+ * balancing weights or different priorities.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.LocalityLbEndpoints}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.LocalityLbEndpoints)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpointsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getLbEndpointsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (localityBuilder_ == null) {
+ locality_ = null;
+ } else {
+ locality_ = null;
+ localityBuilder_ = null;
+ }
+ if (lbEndpointsBuilder_ == null) {
+ lbEndpoints_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ lbEndpointsBuilder_.clear();
+ }
+ if (loadBalancingWeightBuilder_ == null) {
+ loadBalancingWeight_ = null;
+ } else {
+ loadBalancingWeight_ = null;
+ loadBalancingWeightBuilder_ = null;
+ }
+ priority_ = 0;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointOuterClass.internal_static_envoy_api_v2_endpoint_LocalityLbEndpoints_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (localityBuilder_ == null) {
+ result.locality_ = locality_;
+ } else {
+ result.locality_ = localityBuilder_.build();
+ }
+ if (lbEndpointsBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ lbEndpoints_ = java.util.Collections.unmodifiableList(lbEndpoints_);
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.lbEndpoints_ = lbEndpoints_;
+ } else {
+ result.lbEndpoints_ = lbEndpointsBuilder_.build();
+ }
+ if (loadBalancingWeightBuilder_ == null) {
+ result.loadBalancingWeight_ = loadBalancingWeight_;
+ } else {
+ result.loadBalancingWeight_ = loadBalancingWeightBuilder_.build();
+ }
+ result.priority_ = priority_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints.getDefaultInstance()) return this;
+ if (other.hasLocality()) {
+ mergeLocality(other.getLocality());
+ }
+ if (lbEndpointsBuilder_ == null) {
+ if (!other.lbEndpoints_.isEmpty()) {
+ if (lbEndpoints_.isEmpty()) {
+ lbEndpoints_ = other.lbEndpoints_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureLbEndpointsIsMutable();
+ lbEndpoints_.addAll(other.lbEndpoints_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.lbEndpoints_.isEmpty()) {
+ if (lbEndpointsBuilder_.isEmpty()) {
+ lbEndpointsBuilder_.dispose();
+ lbEndpointsBuilder_ = null;
+ lbEndpoints_ = other.lbEndpoints_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lbEndpointsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getLbEndpointsFieldBuilder() : null;
+ } else {
+ lbEndpointsBuilder_.addAllMessages(other.lbEndpoints_);
+ }
+ }
+ }
+ if (other.hasLoadBalancingWeight()) {
+ mergeLoadBalancingWeight(other.getLoadBalancingWeight());
+ }
+ if (other.getPriority() != 0) {
+ setPriority(other.getPriority());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Locality locality_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder> localityBuilder_;
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public boolean hasLocality() {
+ return localityBuilder_ != null || locality_ != null;
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality() {
+ if (localityBuilder_ == null) {
+ return locality_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ } else {
+ return localityBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public Builder setLocality(io.grpc.xds.shaded.envoy.api.v2.core.Locality value) {
+ if (localityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ locality_ = value;
+ onChanged();
+ } else {
+ localityBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public Builder setLocality(
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder builderForValue) {
+ if (localityBuilder_ == null) {
+ locality_ = builderForValue.build();
+ onChanged();
+ } else {
+ localityBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public Builder mergeLocality(io.grpc.xds.shaded.envoy.api.v2.core.Locality value) {
+ if (localityBuilder_ == null) {
+ if (locality_ != null) {
+ locality_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.newBuilder(locality_).mergeFrom(value).buildPartial();
+ } else {
+ locality_ = value;
+ }
+ onChanged();
+ } else {
+ localityBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public Builder clearLocality() {
+ if (localityBuilder_ == null) {
+ locality_ = null;
+ onChanged();
+ } else {
+ locality_ = null;
+ localityBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder getLocalityBuilder() {
+
+ onChanged();
+ return getLocalityFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder() {
+ if (localityBuilder_ != null) {
+ return localityBuilder_.getMessageOrBuilder();
+ } else {
+ return locality_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ }
+ }
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder>
+ getLocalityFieldBuilder() {
+ if (localityBuilder_ == null) {
+ localityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder>(
+ getLocality(),
+ getParentForChildren(),
+ isClean());
+ locality_ = null;
+ }
+ return localityBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint> lbEndpoints_ =
+ java.util.Collections.emptyList();
+ private void ensureLbEndpointsIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ lbEndpoints_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint>(lbEndpoints_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder> lbEndpointsBuilder_;
+
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint> getLbEndpointsList() {
+ if (lbEndpointsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(lbEndpoints_);
+ } else {
+ return lbEndpointsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public int getLbEndpointsCount() {
+ if (lbEndpointsBuilder_ == null) {
+ return lbEndpoints_.size();
+ } else {
+ return lbEndpointsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint getLbEndpoints(int index) {
+ if (lbEndpointsBuilder_ == null) {
+ return lbEndpoints_.get(index);
+ } else {
+ return lbEndpointsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder setLbEndpoints(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint value) {
+ if (lbEndpointsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLbEndpointsIsMutable();
+ lbEndpoints_.set(index, value);
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder setLbEndpoints(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder builderForValue) {
+ if (lbEndpointsBuilder_ == null) {
+ ensureLbEndpointsIsMutable();
+ lbEndpoints_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder addLbEndpoints(io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint value) {
+ if (lbEndpointsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLbEndpointsIsMutable();
+ lbEndpoints_.add(value);
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder addLbEndpoints(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint value) {
+ if (lbEndpointsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLbEndpointsIsMutable();
+ lbEndpoints_.add(index, value);
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder addLbEndpoints(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder builderForValue) {
+ if (lbEndpointsBuilder_ == null) {
+ ensureLbEndpointsIsMutable();
+ lbEndpoints_.add(builderForValue.build());
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder addLbEndpoints(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder builderForValue) {
+ if (lbEndpointsBuilder_ == null) {
+ ensureLbEndpointsIsMutable();
+ lbEndpoints_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder addAllLbEndpoints(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint> values) {
+ if (lbEndpointsBuilder_ == null) {
+ ensureLbEndpointsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, lbEndpoints_);
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder clearLbEndpoints() {
+ if (lbEndpointsBuilder_ == null) {
+ lbEndpoints_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public Builder removeLbEndpoints(int index) {
+ if (lbEndpointsBuilder_ == null) {
+ ensureLbEndpointsIsMutable();
+ lbEndpoints_.remove(index);
+ onChanged();
+ } else {
+ lbEndpointsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder getLbEndpointsBuilder(
+ int index) {
+ return getLbEndpointsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder getLbEndpointsOrBuilder(
+ int index) {
+ if (lbEndpointsBuilder_ == null) {
+ return lbEndpoints_.get(index); } else {
+ return lbEndpointsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder>
+ getLbEndpointsOrBuilderList() {
+ if (lbEndpointsBuilder_ != null) {
+ return lbEndpointsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(lbEndpoints_);
+ }
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder addLbEndpointsBuilder() {
+ return getLbEndpointsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder addLbEndpointsBuilder(
+ int index) {
+ return getLbEndpointsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder>
+ getLbEndpointsBuilderList() {
+ return getLbEndpointsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder>
+ getLbEndpointsFieldBuilder() {
+ if (lbEndpointsBuilder_ == null) {
+ lbEndpointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder>(
+ lbEndpoints_,
+ ((bitField0_ & 0x00000002) == 0x00000002),
+ getParentForChildren(),
+ isClean());
+ lbEndpoints_ = null;
+ }
+ return lbEndpointsBuilder_;
+ }
+
+ private com.google.protobuf.UInt32Value loadBalancingWeight_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder> loadBalancingWeightBuilder_;
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public boolean hasLoadBalancingWeight() {
+ return loadBalancingWeightBuilder_ != null || loadBalancingWeight_ != null;
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value getLoadBalancingWeight() {
+ if (loadBalancingWeightBuilder_ == null) {
+ return loadBalancingWeight_ == null ? com.google.protobuf.UInt32Value.getDefaultInstance() : loadBalancingWeight_;
+ } else {
+ return loadBalancingWeightBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setLoadBalancingWeight(com.google.protobuf.UInt32Value value) {
+ if (loadBalancingWeightBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ loadBalancingWeight_ = value;
+ onChanged();
+ } else {
+ loadBalancingWeightBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setLoadBalancingWeight(
+ com.google.protobuf.UInt32Value.Builder builderForValue) {
+ if (loadBalancingWeightBuilder_ == null) {
+ loadBalancingWeight_ = builderForValue.build();
+ onChanged();
+ } else {
+ loadBalancingWeightBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder mergeLoadBalancingWeight(com.google.protobuf.UInt32Value value) {
+ if (loadBalancingWeightBuilder_ == null) {
+ if (loadBalancingWeight_ != null) {
+ loadBalancingWeight_ =
+ com.google.protobuf.UInt32Value.newBuilder(loadBalancingWeight_).mergeFrom(value).buildPartial();
+ } else {
+ loadBalancingWeight_ = value;
+ }
+ onChanged();
+ } else {
+ loadBalancingWeightBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearLoadBalancingWeight() {
+ if (loadBalancingWeightBuilder_ == null) {
+ loadBalancingWeight_ = null;
+ onChanged();
+ } else {
+ loadBalancingWeight_ = null;
+ loadBalancingWeightBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32Value.Builder getLoadBalancingWeightBuilder() {
+
+ onChanged();
+ return getLoadBalancingWeightFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ public com.google.protobuf.UInt32ValueOrBuilder getLoadBalancingWeightOrBuilder() {
+ if (loadBalancingWeightBuilder_ != null) {
+ return loadBalancingWeightBuilder_.getMessageOrBuilder();
+ } else {
+ return loadBalancingWeight_ == null ?
+ com.google.protobuf.UInt32Value.getDefaultInstance() : loadBalancingWeight_;
+ }
+ }
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>
+ getLoadBalancingWeightFieldBuilder() {
+ if (loadBalancingWeightBuilder_ == null) {
+ loadBalancingWeightBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.UInt32Value, com.google.protobuf.UInt32Value.Builder, com.google.protobuf.UInt32ValueOrBuilder>(
+ getLoadBalancingWeight(),
+ getParentForChildren(),
+ isClean());
+ loadBalancingWeight_ = null;
+ }
+ return loadBalancingWeightBuilder_;
+ }
+
+ private int priority_ ;
+ /**
+ * <pre>
+ * Optional: the priority for this LocalityLbEndpoints. If unspecified this will
+ * default to the highest priority (0).
+ * Under usual circumstances, Envoy will only select endpoints for the highest
+ * priority (0). In the event all endpoints for a particular priority are
+ * unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
+ * next highest priority group.
+ * Priorities should range from 0 (highest) to N (lowest) without skipping.
+ * </pre>
+ *
+ * <code>uint32 priority = 5 [(.validate.rules) = { ... }</code>
+ */
+ public int getPriority() {
+ return priority_;
+ }
+ /**
+ * <pre>
+ * Optional: the priority for this LocalityLbEndpoints. If unspecified this will
+ * default to the highest priority (0).
+ * Under usual circumstances, Envoy will only select endpoints for the highest
+ * priority (0). In the event all endpoints for a particular priority are
+ * unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
+ * next highest priority group.
+ * Priorities should range from 0 (highest) to N (lowest) without skipping.
+ * </pre>
+ *
+ * <code>uint32 priority = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setPriority(int value) {
+
+ priority_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Optional: the priority for this LocalityLbEndpoints. If unspecified this will
+ * default to the highest priority (0).
+ * Under usual circumstances, Envoy will only select endpoints for the highest
+ * priority (0). In the event all endpoints for a particular priority are
+ * unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
+ * next highest priority group.
+ * Priorities should range from 0 (highest) to N (lowest) without skipping.
+ * </pre>
+ *
+ * <code>uint32 priority = 5 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearPriority() {
+
+ priority_ = 0;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.LocalityLbEndpoints)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.LocalityLbEndpoints)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<LocalityLbEndpoints>
+ PARSER = new com.google.protobuf.AbstractParser<LocalityLbEndpoints>() {
+ public LocalityLbEndpoints parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new LocalityLbEndpoints(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<LocalityLbEndpoints> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<LocalityLbEndpoints> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.LocalityLbEndpoints getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LocalityLbEndpointsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LocalityLbEndpointsOrBuilder.java
new file mode 100644
index 000000000..01048548f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/LocalityLbEndpointsOrBuilder.java
@@ -0,0 +1,154 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/endpoint.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public interface LocalityLbEndpointsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.LocalityLbEndpoints)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ boolean hasLocality();
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality();
+ /**
+ * <pre>
+ * Identifies location of where the upstream hosts run.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder();
+
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint>
+ getLbEndpointsList();
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpoint getLbEndpoints(int index);
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ int getLbEndpointsCount();
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder>
+ getLbEndpointsOrBuilderList();
+ /**
+ * <pre>
+ * The group of endpoints belonging to the locality specified.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.LbEndpoint lb_endpoints = 2;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.LbEndpointOrBuilder getLbEndpointsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ boolean hasLoadBalancingWeight();
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32Value getLoadBalancingWeight();
+ /**
+ * <pre>
+ * Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ * balancing weight for a locality is divided by the sum of the weights of all
+ * localities at the same priority level to produce the effective percentage
+ * of traffic for the locality.
+ * Locality weights are only considered when :ref:`locality weighted load
+ * balancing &lt;arch_overview_load_balancing_locality_weighted_lb&gt;` is
+ * configured. These weights are ignored otherwise. If no weights are
+ * specificed when locality weighted load balancing is enabled, the cluster is
+ * assumed to have a weight of 1.
+ * .. attention::
+ * The limit of 128 is somewhat arbitrary, but is applied due to performance
+ * concerns with the current implementation and can be removed when
+ * `this issue &lt;https://github.com/envoyproxy/envoy/issues/1285&gt;`_ is fixed.
+ * </pre>
+ *
+ * <code>.google.protobuf.UInt32Value load_balancing_weight = 3 [(.validate.rules) = { ... }</code>
+ */
+ com.google.protobuf.UInt32ValueOrBuilder getLoadBalancingWeightOrBuilder();
+
+ /**
+ * <pre>
+ * Optional: the priority for this LocalityLbEndpoints. If unspecified this will
+ * default to the highest priority (0).
+ * Under usual circumstances, Envoy will only select endpoints for the highest
+ * priority (0). In the event all endpoints for a particular priority are
+ * unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
+ * next highest priority group.
+ * Priorities should range from 0 (highest) to N (lowest) without skipping.
+ * </pre>
+ *
+ * <code>uint32 priority = 5 [(.validate.rules) = { ... }</code>
+ */
+ int getPriority();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamEndpointStats.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamEndpointStats.java
new file mode 100644
index 000000000..d14c9298e
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamEndpointStats.java
@@ -0,0 +1,1596 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+/**
+ * Protobuf type {@code envoy.api.v2.endpoint.UpstreamEndpointStats}
+ */
+public final class UpstreamEndpointStats extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.UpstreamEndpointStats)
+ UpstreamEndpointStatsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UpstreamEndpointStats.newBuilder() to construct.
+ private UpstreamEndpointStats(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private UpstreamEndpointStats() {
+ totalSuccessfulRequests_ = 0L;
+ totalRequestsInProgress_ = 0L;
+ totalErrorRequests_ = 0L;
+ loadMetricStats_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UpstreamEndpointStats(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder subBuilder = null;
+ if (address_ != null) {
+ subBuilder = address_.toBuilder();
+ }
+ address_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Address.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(address_);
+ address_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 16: {
+
+ totalSuccessfulRequests_ = input.readUInt64();
+ break;
+ }
+ case 24: {
+
+ totalRequestsInProgress_ = input.readUInt64();
+ break;
+ }
+ case 32: {
+
+ totalErrorRequests_ = input.readUInt64();
+ break;
+ }
+ case 42: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ loadMetricStats_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ loadMetricStats_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.parser(), extensionRegistry));
+ break;
+ }
+ case 50: {
+ com.google.protobuf.Struct.Builder subBuilder = null;
+ if (metadata_ != null) {
+ subBuilder = metadata_.toBuilder();
+ }
+ metadata_ = input.readMessage(com.google.protobuf.Struct.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(metadata_);
+ metadata_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ loadMetricStats_ = java.util.Collections.unmodifiableList(loadMetricStats_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int ADDRESS_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Address address_;
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public boolean hasAddress() {
+ return address_ != null;
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getAddress() {
+ return address_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : address_;
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getAddressOrBuilder() {
+ return getAddress();
+ }
+
+ public static final int METADATA_FIELD_NUMBER = 6;
+ private com.google.protobuf.Struct metadata_;
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public boolean hasMetadata() {
+ return metadata_ != null;
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public com.google.protobuf.Struct getMetadata() {
+ return metadata_ == null ? com.google.protobuf.Struct.getDefaultInstance() : metadata_;
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getMetadataOrBuilder() {
+ return getMetadata();
+ }
+
+ public static final int TOTAL_SUCCESSFUL_REQUESTS_FIELD_NUMBER = 2;
+ private long totalSuccessfulRequests_;
+ /**
+ * <pre>
+ * The total number of requests successfully completed by the endpoint. A
+ * single HTTP or gRPC request or stream is counted as one request. A TCP
+ * connection is also treated as one request. There is no explicit
+ * total_requests field below for an endpoint, but it may be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality. These include non-5xx responses for HTTP, where errors
+ * originate at the client and the endpoint responded successfully. For gRPC,
+ * the grpc-status values are those not covered by total_error_requests below.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ public long getTotalSuccessfulRequests() {
+ return totalSuccessfulRequests_;
+ }
+
+ public static final int TOTAL_REQUESTS_IN_PROGRESS_FIELD_NUMBER = 3;
+ private long totalRequestsInProgress_;
+ /**
+ * <pre>
+ * The total number of unfinished requests for this endpoint.
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ public long getTotalRequestsInProgress() {
+ return totalRequestsInProgress_;
+ }
+
+ public static final int TOTAL_ERROR_REQUESTS_FIELD_NUMBER = 4;
+ private long totalErrorRequests_;
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint.
+ * For HTTP these are responses with 5xx status codes and for gRPC the
+ * grpc-status values:
+ * - DeadlineExceeded
+ * - Unimplemented
+ * - Internal
+ * - Unavailable
+ * - Unknown
+ * - DataLoss
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ public long getTotalErrorRequests() {
+ return totalErrorRequests_;
+ }
+
+ public static final int LOAD_METRIC_STATS_FIELD_NUMBER = 5;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> loadMetricStats_;
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> getLoadMetricStatsList() {
+ return loadMetricStats_;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>
+ getLoadMetricStatsOrBuilderList() {
+ return loadMetricStats_;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public int getLoadMetricStatsCount() {
+ return loadMetricStats_.size();
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getLoadMetricStats(int index) {
+ return loadMetricStats_.get(index);
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder getLoadMetricStatsOrBuilder(
+ int index) {
+ return loadMetricStats_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (address_ != null) {
+ output.writeMessage(1, getAddress());
+ }
+ if (totalSuccessfulRequests_ != 0L) {
+ output.writeUInt64(2, totalSuccessfulRequests_);
+ }
+ if (totalRequestsInProgress_ != 0L) {
+ output.writeUInt64(3, totalRequestsInProgress_);
+ }
+ if (totalErrorRequests_ != 0L) {
+ output.writeUInt64(4, totalErrorRequests_);
+ }
+ for (int i = 0; i < loadMetricStats_.size(); i++) {
+ output.writeMessage(5, loadMetricStats_.get(i));
+ }
+ if (metadata_ != null) {
+ output.writeMessage(6, getMetadata());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (address_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getAddress());
+ }
+ if (totalSuccessfulRequests_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, totalSuccessfulRequests_);
+ }
+ if (totalRequestsInProgress_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(3, totalRequestsInProgress_);
+ }
+ if (totalErrorRequests_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(4, totalErrorRequests_);
+ }
+ for (int i = 0; i < loadMetricStats_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, loadMetricStats_.get(i));
+ }
+ if (metadata_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getMetadata());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats) obj;
+
+ boolean result = true;
+ result = result && (hasAddress() == other.hasAddress());
+ if (hasAddress()) {
+ result = result && getAddress()
+ .equals(other.getAddress());
+ }
+ result = result && (hasMetadata() == other.hasMetadata());
+ if (hasMetadata()) {
+ result = result && getMetadata()
+ .equals(other.getMetadata());
+ }
+ result = result && (getTotalSuccessfulRequests()
+ == other.getTotalSuccessfulRequests());
+ result = result && (getTotalRequestsInProgress()
+ == other.getTotalRequestsInProgress());
+ result = result && (getTotalErrorRequests()
+ == other.getTotalErrorRequests());
+ result = result && getLoadMetricStatsList()
+ .equals(other.getLoadMetricStatsList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasAddress()) {
+ hash = (37 * hash) + ADDRESS_FIELD_NUMBER;
+ hash = (53 * hash) + getAddress().hashCode();
+ }
+ if (hasMetadata()) {
+ hash = (37 * hash) + METADATA_FIELD_NUMBER;
+ hash = (53 * hash) + getMetadata().hashCode();
+ }
+ hash = (37 * hash) + TOTAL_SUCCESSFUL_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getTotalSuccessfulRequests());
+ hash = (37 * hash) + TOTAL_REQUESTS_IN_PROGRESS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getTotalRequestsInProgress());
+ hash = (37 * hash) + TOTAL_ERROR_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getTotalErrorRequests());
+ if (getLoadMetricStatsCount() > 0) {
+ hash = (37 * hash) + LOAD_METRIC_STATS_FIELD_NUMBER;
+ hash = (53 * hash) + getLoadMetricStatsList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * Protobuf type {@code envoy.api.v2.endpoint.UpstreamEndpointStats}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.UpstreamEndpointStats)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getLoadMetricStatsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (addressBuilder_ == null) {
+ address_ = null;
+ } else {
+ address_ = null;
+ addressBuilder_ = null;
+ }
+ if (metadataBuilder_ == null) {
+ metadata_ = null;
+ } else {
+ metadata_ = null;
+ metadataBuilder_ = null;
+ }
+ totalSuccessfulRequests_ = 0L;
+
+ totalRequestsInProgress_ = 0L;
+
+ totalErrorRequests_ = 0L;
+
+ if (loadMetricStatsBuilder_ == null) {
+ loadMetricStats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ loadMetricStatsBuilder_.clear();
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamEndpointStats_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (addressBuilder_ == null) {
+ result.address_ = address_;
+ } else {
+ result.address_ = addressBuilder_.build();
+ }
+ if (metadataBuilder_ == null) {
+ result.metadata_ = metadata_;
+ } else {
+ result.metadata_ = metadataBuilder_.build();
+ }
+ result.totalSuccessfulRequests_ = totalSuccessfulRequests_;
+ result.totalRequestsInProgress_ = totalRequestsInProgress_;
+ result.totalErrorRequests_ = totalErrorRequests_;
+ if (loadMetricStatsBuilder_ == null) {
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ loadMetricStats_ = java.util.Collections.unmodifiableList(loadMetricStats_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.loadMetricStats_ = loadMetricStats_;
+ } else {
+ result.loadMetricStats_ = loadMetricStatsBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.getDefaultInstance()) return this;
+ if (other.hasAddress()) {
+ mergeAddress(other.getAddress());
+ }
+ if (other.hasMetadata()) {
+ mergeMetadata(other.getMetadata());
+ }
+ if (other.getTotalSuccessfulRequests() != 0L) {
+ setTotalSuccessfulRequests(other.getTotalSuccessfulRequests());
+ }
+ if (other.getTotalRequestsInProgress() != 0L) {
+ setTotalRequestsInProgress(other.getTotalRequestsInProgress());
+ }
+ if (other.getTotalErrorRequests() != 0L) {
+ setTotalErrorRequests(other.getTotalErrorRequests());
+ }
+ if (loadMetricStatsBuilder_ == null) {
+ if (!other.loadMetricStats_.isEmpty()) {
+ if (loadMetricStats_.isEmpty()) {
+ loadMetricStats_ = other.loadMetricStats_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.addAll(other.loadMetricStats_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.loadMetricStats_.isEmpty()) {
+ if (loadMetricStatsBuilder_.isEmpty()) {
+ loadMetricStatsBuilder_.dispose();
+ loadMetricStatsBuilder_ = null;
+ loadMetricStats_ = other.loadMetricStats_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ loadMetricStatsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getLoadMetricStatsFieldBuilder() : null;
+ } else {
+ loadMetricStatsBuilder_.addAllMessages(other.loadMetricStats_);
+ }
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Address address_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder> addressBuilder_;
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public boolean hasAddress() {
+ return addressBuilder_ != null || address_ != null;
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address getAddress() {
+ if (addressBuilder_ == null) {
+ return address_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : address_;
+ } else {
+ return addressBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public Builder setAddress(io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (addressBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ address_ = value;
+ onChanged();
+ } else {
+ addressBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public Builder setAddress(
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder builderForValue) {
+ if (addressBuilder_ == null) {
+ address_ = builderForValue.build();
+ onChanged();
+ } else {
+ addressBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public Builder mergeAddress(io.grpc.xds.shaded.envoy.api.v2.core.Address value) {
+ if (addressBuilder_ == null) {
+ if (address_ != null) {
+ address_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.newBuilder(address_).mergeFrom(value).buildPartial();
+ } else {
+ address_ = value;
+ }
+ onChanged();
+ } else {
+ addressBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public Builder clearAddress() {
+ if (addressBuilder_ == null) {
+ address_ = null;
+ onChanged();
+ } else {
+ address_ = null;
+ addressBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder getAddressBuilder() {
+
+ onChanged();
+ return getAddressFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getAddressOrBuilder() {
+ if (addressBuilder_ != null) {
+ return addressBuilder_.getMessageOrBuilder();
+ } else {
+ return address_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Address.getDefaultInstance() : address_;
+ }
+ }
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>
+ getAddressFieldBuilder() {
+ if (addressBuilder_ == null) {
+ addressBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Address, io.grpc.xds.shaded.envoy.api.v2.core.Address.Builder, io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder>(
+ getAddress(),
+ getParentForChildren(),
+ isClean());
+ address_ = null;
+ }
+ return addressBuilder_;
+ }
+
+ private com.google.protobuf.Struct metadata_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder> metadataBuilder_;
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public boolean hasMetadata() {
+ return metadataBuilder_ != null || metadata_ != null;
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public com.google.protobuf.Struct getMetadata() {
+ if (metadataBuilder_ == null) {
+ return metadata_ == null ? com.google.protobuf.Struct.getDefaultInstance() : metadata_;
+ } else {
+ return metadataBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public Builder setMetadata(com.google.protobuf.Struct value) {
+ if (metadataBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ metadata_ = value;
+ onChanged();
+ } else {
+ metadataBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public Builder setMetadata(
+ com.google.protobuf.Struct.Builder builderForValue) {
+ if (metadataBuilder_ == null) {
+ metadata_ = builderForValue.build();
+ onChanged();
+ } else {
+ metadataBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public Builder mergeMetadata(com.google.protobuf.Struct value) {
+ if (metadataBuilder_ == null) {
+ if (metadata_ != null) {
+ metadata_ =
+ com.google.protobuf.Struct.newBuilder(metadata_).mergeFrom(value).buildPartial();
+ } else {
+ metadata_ = value;
+ }
+ onChanged();
+ } else {
+ metadataBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public Builder clearMetadata() {
+ if (metadataBuilder_ == null) {
+ metadata_ = null;
+ onChanged();
+ } else {
+ metadata_ = null;
+ metadataBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public com.google.protobuf.Struct.Builder getMetadataBuilder() {
+
+ onChanged();
+ return getMetadataFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ public com.google.protobuf.StructOrBuilder getMetadataOrBuilder() {
+ if (metadataBuilder_ != null) {
+ return metadataBuilder_.getMessageOrBuilder();
+ } else {
+ return metadata_ == null ?
+ com.google.protobuf.Struct.getDefaultInstance() : metadata_;
+ }
+ }
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>
+ getMetadataFieldBuilder() {
+ if (metadataBuilder_ == null) {
+ metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Struct, com.google.protobuf.Struct.Builder, com.google.protobuf.StructOrBuilder>(
+ getMetadata(),
+ getParentForChildren(),
+ isClean());
+ metadata_ = null;
+ }
+ return metadataBuilder_;
+ }
+
+ private long totalSuccessfulRequests_ ;
+ /**
+ * <pre>
+ * The total number of requests successfully completed by the endpoint. A
+ * single HTTP or gRPC request or stream is counted as one request. A TCP
+ * connection is also treated as one request. There is no explicit
+ * total_requests field below for an endpoint, but it may be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality. These include non-5xx responses for HTTP, where errors
+ * originate at the client and the endpoint responded successfully. For gRPC,
+ * the grpc-status values are those not covered by total_error_requests below.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ public long getTotalSuccessfulRequests() {
+ return totalSuccessfulRequests_;
+ }
+ /**
+ * <pre>
+ * The total number of requests successfully completed by the endpoint. A
+ * single HTTP or gRPC request or stream is counted as one request. A TCP
+ * connection is also treated as one request. There is no explicit
+ * total_requests field below for an endpoint, but it may be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality. These include non-5xx responses for HTTP, where errors
+ * originate at the client and the endpoint responded successfully. For gRPC,
+ * the grpc-status values are those not covered by total_error_requests below.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ public Builder setTotalSuccessfulRequests(long value) {
+
+ totalSuccessfulRequests_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The total number of requests successfully completed by the endpoint. A
+ * single HTTP or gRPC request or stream is counted as one request. A TCP
+ * connection is also treated as one request. There is no explicit
+ * total_requests field below for an endpoint, but it may be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality. These include non-5xx responses for HTTP, where errors
+ * originate at the client and the endpoint responded successfully. For gRPC,
+ * the grpc-status values are those not covered by total_error_requests below.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ public Builder clearTotalSuccessfulRequests() {
+
+ totalSuccessfulRequests_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long totalRequestsInProgress_ ;
+ /**
+ * <pre>
+ * The total number of unfinished requests for this endpoint.
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ public long getTotalRequestsInProgress() {
+ return totalRequestsInProgress_;
+ }
+ /**
+ * <pre>
+ * The total number of unfinished requests for this endpoint.
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ public Builder setTotalRequestsInProgress(long value) {
+
+ totalRequestsInProgress_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The total number of unfinished requests for this endpoint.
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ public Builder clearTotalRequestsInProgress() {
+
+ totalRequestsInProgress_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long totalErrorRequests_ ;
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint.
+ * For HTTP these are responses with 5xx status codes and for gRPC the
+ * grpc-status values:
+ * - DeadlineExceeded
+ * - Unimplemented
+ * - Internal
+ * - Unavailable
+ * - Unknown
+ * - DataLoss
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ public long getTotalErrorRequests() {
+ return totalErrorRequests_;
+ }
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint.
+ * For HTTP these are responses with 5xx status codes and for gRPC the
+ * grpc-status values:
+ * - DeadlineExceeded
+ * - Unimplemented
+ * - Internal
+ * - Unavailable
+ * - Unknown
+ * - DataLoss
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ public Builder setTotalErrorRequests(long value) {
+
+ totalErrorRequests_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint.
+ * For HTTP these are responses with 5xx status codes and for gRPC the
+ * grpc-status values:
+ * - DeadlineExceeded
+ * - Unimplemented
+ * - Internal
+ * - Unavailable
+ * - Unknown
+ * - DataLoss
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ public Builder clearTotalErrorRequests() {
+
+ totalErrorRequests_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> loadMetricStats_ =
+ java.util.Collections.emptyList();
+ private void ensureLoadMetricStatsIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ loadMetricStats_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats>(loadMetricStats_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder> loadMetricStatsBuilder_;
+
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> getLoadMetricStatsList() {
+ if (loadMetricStatsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(loadMetricStats_);
+ } else {
+ return loadMetricStatsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public int getLoadMetricStatsCount() {
+ if (loadMetricStatsBuilder_ == null) {
+ return loadMetricStats_.size();
+ } else {
+ return loadMetricStatsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getLoadMetricStats(int index) {
+ if (loadMetricStatsBuilder_ == null) {
+ return loadMetricStats_.get(index);
+ } else {
+ return loadMetricStatsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder setLoadMetricStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats value) {
+ if (loadMetricStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.set(index, value);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder setLoadMetricStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder builderForValue) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addLoadMetricStats(io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats value) {
+ if (loadMetricStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.add(value);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addLoadMetricStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats value) {
+ if (loadMetricStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.add(index, value);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addLoadMetricStats(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder builderForValue) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.add(builderForValue.build());
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addLoadMetricStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder builderForValue) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addAllLoadMetricStats(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> values) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, loadMetricStats_);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder clearLoadMetricStats() {
+ if (loadMetricStatsBuilder_ == null) {
+ loadMetricStats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder removeLoadMetricStats(int index) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.remove(index);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder getLoadMetricStatsBuilder(
+ int index) {
+ return getLoadMetricStatsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder getLoadMetricStatsOrBuilder(
+ int index) {
+ if (loadMetricStatsBuilder_ == null) {
+ return loadMetricStats_.get(index); } else {
+ return loadMetricStatsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>
+ getLoadMetricStatsOrBuilderList() {
+ if (loadMetricStatsBuilder_ != null) {
+ return loadMetricStatsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(loadMetricStats_);
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder addLoadMetricStatsBuilder() {
+ return getLoadMetricStatsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder addLoadMetricStatsBuilder(
+ int index) {
+ return getLoadMetricStatsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder>
+ getLoadMetricStatsBuilderList() {
+ return getLoadMetricStatsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>
+ getLoadMetricStatsFieldBuilder() {
+ if (loadMetricStatsBuilder_ == null) {
+ loadMetricStatsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>(
+ loadMetricStats_,
+ ((bitField0_ & 0x00000020) == 0x00000020),
+ getParentForChildren(),
+ isClean());
+ loadMetricStats_ = null;
+ }
+ return loadMetricStatsBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.UpstreamEndpointStats)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.UpstreamEndpointStats)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<UpstreamEndpointStats>
+ PARSER = new com.google.protobuf.AbstractParser<UpstreamEndpointStats>() {
+ public UpstreamEndpointStats parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UpstreamEndpointStats(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<UpstreamEndpointStats> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<UpstreamEndpointStats> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamEndpointStatsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamEndpointStatsOrBuilder.java
new file mode 100644
index 000000000..bd0280537
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamEndpointStatsOrBuilder.java
@@ -0,0 +1,151 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public interface UpstreamEndpointStatsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.UpstreamEndpointStats)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ boolean hasAddress();
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Address getAddress();
+ /**
+ * <pre>
+ * Upstream host address.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Address address = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.AddressOrBuilder getAddressOrBuilder();
+
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ boolean hasMetadata();
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ com.google.protobuf.Struct getMetadata();
+ /**
+ * <pre>
+ * Opaque and implementation dependent metadata of the
+ * endpoint. Envoy will pass this directly to the management server.
+ * </pre>
+ *
+ * <code>.google.protobuf.Struct metadata = 6;</code>
+ */
+ com.google.protobuf.StructOrBuilder getMetadataOrBuilder();
+
+ /**
+ * <pre>
+ * The total number of requests successfully completed by the endpoint. A
+ * single HTTP or gRPC request or stream is counted as one request. A TCP
+ * connection is also treated as one request. There is no explicit
+ * total_requests field below for an endpoint, but it may be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality. These include non-5xx responses for HTTP, where errors
+ * originate at the client and the endpoint responded successfully. For gRPC,
+ * the grpc-status values are those not covered by total_error_requests below.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ long getTotalSuccessfulRequests();
+
+ /**
+ * <pre>
+ * The total number of unfinished requests for this endpoint.
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ long getTotalRequestsInProgress();
+
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint.
+ * For HTTP these are responses with 5xx status codes and for gRPC the
+ * grpc-status values:
+ * - DeadlineExceeded
+ * - Unimplemented
+ * - Internal
+ * - Unavailable
+ * - Unknown
+ * - DataLoss
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ long getTotalErrorRequests();
+
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats>
+ getLoadMetricStatsList();
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getLoadMetricStats(int index);
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ int getLoadMetricStatsCount();
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>
+ getLoadMetricStatsOrBuilderList();
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder getLoadMetricStatsOrBuilder(
+ int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamLocalityStats.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamLocalityStats.java
new file mode 100644
index 000000000..a96d385a2
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamLocalityStats.java
@@ -0,0 +1,1902 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+/**
+ * <pre>
+ * These are stats Envoy reports to GLB every so often. Report frequency is
+ * defined by
+ * :ref:`LoadStatsResponse.load_reporting_interval&lt;envoy_api_field_load_stats.LoadStatsResponse.load_reporting_interval&gt;`.
+ * Stats per upstream region/zone and optionally per subzone.
+ * [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.UpstreamLocalityStats}
+ */
+public final class UpstreamLocalityStats extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.api.v2.endpoint.UpstreamLocalityStats)
+ UpstreamLocalityStatsOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UpstreamLocalityStats.newBuilder() to construct.
+ private UpstreamLocalityStats(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private UpstreamLocalityStats() {
+ totalSuccessfulRequests_ = 0L;
+ totalRequestsInProgress_ = 0L;
+ totalErrorRequests_ = 0L;
+ loadMetricStats_ = java.util.Collections.emptyList();
+ upstreamEndpointStats_ = java.util.Collections.emptyList();
+ priority_ = 0;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UpstreamLocalityStats(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder subBuilder = null;
+ if (locality_ != null) {
+ subBuilder = locality_.toBuilder();
+ }
+ locality_ = input.readMessage(io.grpc.xds.shaded.envoy.api.v2.core.Locality.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(locality_);
+ locality_ = subBuilder.buildPartial();
+ }
+
+ break;
+ }
+ case 16: {
+
+ totalSuccessfulRequests_ = input.readUInt64();
+ break;
+ }
+ case 24: {
+
+ totalRequestsInProgress_ = input.readUInt64();
+ break;
+ }
+ case 32: {
+
+ totalErrorRequests_ = input.readUInt64();
+ break;
+ }
+ case 42: {
+ if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
+ loadMetricStats_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats>();
+ mutable_bitField0_ |= 0x00000010;
+ }
+ loadMetricStats_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.parser(), extensionRegistry));
+ break;
+ }
+ case 48: {
+
+ priority_ = input.readUInt32();
+ break;
+ }
+ case 58: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ upstreamEndpointStats_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ upstreamEndpointStats_.add(
+ input.readMessage(io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
+ loadMetricStats_ = java.util.Collections.unmodifiableList(loadMetricStats_);
+ }
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ upstreamEndpointStats_ = java.util.Collections.unmodifiableList(upstreamEndpointStats_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int LOCALITY_FIELD_NUMBER = 1;
+ private io.grpc.xds.shaded.envoy.api.v2.core.Locality locality_;
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public boolean hasLocality() {
+ return locality_ != null;
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality() {
+ return locality_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder() {
+ return getLocality();
+ }
+
+ public static final int TOTAL_SUCCESSFUL_REQUESTS_FIELD_NUMBER = 2;
+ private long totalSuccessfulRequests_;
+ /**
+ * <pre>
+ * The total number of requests sent by this Envoy since the last report. This
+ * information is aggregated over all the upstream Endpoints. total_requests
+ * can be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ public long getTotalSuccessfulRequests() {
+ return totalSuccessfulRequests_;
+ }
+
+ public static final int TOTAL_REQUESTS_IN_PROGRESS_FIELD_NUMBER = 3;
+ private long totalRequestsInProgress_;
+ /**
+ * <pre>
+ * The total number of unfinished requests
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ public long getTotalRequestsInProgress() {
+ return totalRequestsInProgress_;
+ }
+
+ public static final int TOTAL_ERROR_REQUESTS_FIELD_NUMBER = 4;
+ private long totalErrorRequests_;
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint,
+ * aggregated over all endpoints in the locality.
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ public long getTotalErrorRequests() {
+ return totalErrorRequests_;
+ }
+
+ public static final int LOAD_METRIC_STATS_FIELD_NUMBER = 5;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> loadMetricStats_;
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> getLoadMetricStatsList() {
+ return loadMetricStats_;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>
+ getLoadMetricStatsOrBuilderList() {
+ return loadMetricStats_;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public int getLoadMetricStatsCount() {
+ return loadMetricStats_.size();
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getLoadMetricStats(int index) {
+ return loadMetricStats_.get(index);
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder getLoadMetricStatsOrBuilder(
+ int index) {
+ return loadMetricStats_.get(index);
+ }
+
+ public static final int UPSTREAM_ENDPOINT_STATS_FIELD_NUMBER = 7;
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats> upstreamEndpointStats_;
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats> getUpstreamEndpointStatsList() {
+ return upstreamEndpointStats_;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder>
+ getUpstreamEndpointStatsOrBuilderList() {
+ return upstreamEndpointStats_;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public int getUpstreamEndpointStatsCount() {
+ return upstreamEndpointStats_.size();
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats getUpstreamEndpointStats(int index) {
+ return upstreamEndpointStats_.get(index);
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder getUpstreamEndpointStatsOrBuilder(
+ int index) {
+ return upstreamEndpointStats_.get(index);
+ }
+
+ public static final int PRIORITY_FIELD_NUMBER = 6;
+ private int priority_;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] The priority of the endpoint group these metrics
+ * were collected from.
+ * </pre>
+ *
+ * <code>uint32 priority = 6;</code>
+ */
+ public int getPriority() {
+ return priority_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (locality_ != null) {
+ output.writeMessage(1, getLocality());
+ }
+ if (totalSuccessfulRequests_ != 0L) {
+ output.writeUInt64(2, totalSuccessfulRequests_);
+ }
+ if (totalRequestsInProgress_ != 0L) {
+ output.writeUInt64(3, totalRequestsInProgress_);
+ }
+ if (totalErrorRequests_ != 0L) {
+ output.writeUInt64(4, totalErrorRequests_);
+ }
+ for (int i = 0; i < loadMetricStats_.size(); i++) {
+ output.writeMessage(5, loadMetricStats_.get(i));
+ }
+ if (priority_ != 0) {
+ output.writeUInt32(6, priority_);
+ }
+ for (int i = 0; i < upstreamEndpointStats_.size(); i++) {
+ output.writeMessage(7, upstreamEndpointStats_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (locality_ != null) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, getLocality());
+ }
+ if (totalSuccessfulRequests_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, totalSuccessfulRequests_);
+ }
+ if (totalRequestsInProgress_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(3, totalRequestsInProgress_);
+ }
+ if (totalErrorRequests_ != 0L) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(4, totalErrorRequests_);
+ }
+ for (int i = 0; i < loadMetricStats_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, loadMetricStats_.get(i));
+ }
+ if (priority_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(6, priority_);
+ }
+ for (int i = 0; i < upstreamEndpointStats_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, upstreamEndpointStats_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats other = (io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats) obj;
+
+ boolean result = true;
+ result = result && (hasLocality() == other.hasLocality());
+ if (hasLocality()) {
+ result = result && getLocality()
+ .equals(other.getLocality());
+ }
+ result = result && (getTotalSuccessfulRequests()
+ == other.getTotalSuccessfulRequests());
+ result = result && (getTotalRequestsInProgress()
+ == other.getTotalRequestsInProgress());
+ result = result && (getTotalErrorRequests()
+ == other.getTotalErrorRequests());
+ result = result && getLoadMetricStatsList()
+ .equals(other.getLoadMetricStatsList());
+ result = result && getUpstreamEndpointStatsList()
+ .equals(other.getUpstreamEndpointStatsList());
+ result = result && (getPriority()
+ == other.getPriority());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasLocality()) {
+ hash = (37 * hash) + LOCALITY_FIELD_NUMBER;
+ hash = (53 * hash) + getLocality().hashCode();
+ }
+ hash = (37 * hash) + TOTAL_SUCCESSFUL_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getTotalSuccessfulRequests());
+ hash = (37 * hash) + TOTAL_REQUESTS_IN_PROGRESS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getTotalRequestsInProgress());
+ hash = (37 * hash) + TOTAL_ERROR_REQUESTS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getTotalErrorRequests());
+ if (getLoadMetricStatsCount() > 0) {
+ hash = (37 * hash) + LOAD_METRIC_STATS_FIELD_NUMBER;
+ hash = (53 * hash) + getLoadMetricStatsList().hashCode();
+ }
+ if (getUpstreamEndpointStatsCount() > 0) {
+ hash = (37 * hash) + UPSTREAM_ENDPOINT_STATS_FIELD_NUMBER;
+ hash = (53 * hash) + getUpstreamEndpointStatsList().hashCode();
+ }
+ hash = (37 * hash) + PRIORITY_FIELD_NUMBER;
+ hash = (53 * hash) + getPriority();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * These are stats Envoy reports to GLB every so often. Report frequency is
+ * defined by
+ * :ref:`LoadStatsResponse.load_reporting_interval&lt;envoy_api_field_load_stats.LoadStatsResponse.load_reporting_interval&gt;`.
+ * Stats per upstream region/zone and optionally per subzone.
+ * [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.api.v2.endpoint.UpstreamLocalityStats}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.api.v2.endpoint.UpstreamLocalityStats)
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStatsOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.class, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getLoadMetricStatsFieldBuilder();
+ getUpstreamEndpointStatsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ if (localityBuilder_ == null) {
+ locality_ = null;
+ } else {
+ locality_ = null;
+ localityBuilder_ = null;
+ }
+ totalSuccessfulRequests_ = 0L;
+
+ totalRequestsInProgress_ = 0L;
+
+ totalErrorRequests_ = 0L;
+
+ if (loadMetricStatsBuilder_ == null) {
+ loadMetricStats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000010);
+ } else {
+ loadMetricStatsBuilder_.clear();
+ }
+ if (upstreamEndpointStatsBuilder_ == null) {
+ upstreamEndpointStats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ upstreamEndpointStatsBuilder_.clear();
+ }
+ priority_ = 0;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.LoadReport.internal_static_envoy_api_v2_endpoint_UpstreamLocalityStats_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats build() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats buildPartial() {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats result = new io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (localityBuilder_ == null) {
+ result.locality_ = locality_;
+ } else {
+ result.locality_ = localityBuilder_.build();
+ }
+ result.totalSuccessfulRequests_ = totalSuccessfulRequests_;
+ result.totalRequestsInProgress_ = totalRequestsInProgress_;
+ result.totalErrorRequests_ = totalErrorRequests_;
+ if (loadMetricStatsBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ loadMetricStats_ = java.util.Collections.unmodifiableList(loadMetricStats_);
+ bitField0_ = (bitField0_ & ~0x00000010);
+ }
+ result.loadMetricStats_ = loadMetricStats_;
+ } else {
+ result.loadMetricStats_ = loadMetricStatsBuilder_.build();
+ }
+ if (upstreamEndpointStatsBuilder_ == null) {
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ upstreamEndpointStats_ = java.util.Collections.unmodifiableList(upstreamEndpointStats_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.upstreamEndpointStats_ = upstreamEndpointStats_;
+ } else {
+ result.upstreamEndpointStats_ = upstreamEndpointStatsBuilder_.build();
+ }
+ result.priority_ = priority_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats other) {
+ if (other == io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats.getDefaultInstance()) return this;
+ if (other.hasLocality()) {
+ mergeLocality(other.getLocality());
+ }
+ if (other.getTotalSuccessfulRequests() != 0L) {
+ setTotalSuccessfulRequests(other.getTotalSuccessfulRequests());
+ }
+ if (other.getTotalRequestsInProgress() != 0L) {
+ setTotalRequestsInProgress(other.getTotalRequestsInProgress());
+ }
+ if (other.getTotalErrorRequests() != 0L) {
+ setTotalErrorRequests(other.getTotalErrorRequests());
+ }
+ if (loadMetricStatsBuilder_ == null) {
+ if (!other.loadMetricStats_.isEmpty()) {
+ if (loadMetricStats_.isEmpty()) {
+ loadMetricStats_ = other.loadMetricStats_;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ } else {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.addAll(other.loadMetricStats_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.loadMetricStats_.isEmpty()) {
+ if (loadMetricStatsBuilder_.isEmpty()) {
+ loadMetricStatsBuilder_.dispose();
+ loadMetricStatsBuilder_ = null;
+ loadMetricStats_ = other.loadMetricStats_;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ loadMetricStatsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getLoadMetricStatsFieldBuilder() : null;
+ } else {
+ loadMetricStatsBuilder_.addAllMessages(other.loadMetricStats_);
+ }
+ }
+ }
+ if (upstreamEndpointStatsBuilder_ == null) {
+ if (!other.upstreamEndpointStats_.isEmpty()) {
+ if (upstreamEndpointStats_.isEmpty()) {
+ upstreamEndpointStats_ = other.upstreamEndpointStats_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureUpstreamEndpointStatsIsMutable();
+ upstreamEndpointStats_.addAll(other.upstreamEndpointStats_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.upstreamEndpointStats_.isEmpty()) {
+ if (upstreamEndpointStatsBuilder_.isEmpty()) {
+ upstreamEndpointStatsBuilder_.dispose();
+ upstreamEndpointStatsBuilder_ = null;
+ upstreamEndpointStats_ = other.upstreamEndpointStats_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ upstreamEndpointStatsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getUpstreamEndpointStatsFieldBuilder() : null;
+ } else {
+ upstreamEndpointStatsBuilder_.addAllMessages(other.upstreamEndpointStats_);
+ }
+ }
+ }
+ if (other.getPriority() != 0) {
+ setPriority(other.getPriority());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private io.grpc.xds.shaded.envoy.api.v2.core.Locality locality_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder> localityBuilder_;
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public boolean hasLocality() {
+ return localityBuilder_ != null || locality_ != null;
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality() {
+ if (localityBuilder_ == null) {
+ return locality_ == null ? io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ } else {
+ return localityBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public Builder setLocality(io.grpc.xds.shaded.envoy.api.v2.core.Locality value) {
+ if (localityBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ locality_ = value;
+ onChanged();
+ } else {
+ localityBuilder_.setMessage(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public Builder setLocality(
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder builderForValue) {
+ if (localityBuilder_ == null) {
+ locality_ = builderForValue.build();
+ onChanged();
+ } else {
+ localityBuilder_.setMessage(builderForValue.build());
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public Builder mergeLocality(io.grpc.xds.shaded.envoy.api.v2.core.Locality value) {
+ if (localityBuilder_ == null) {
+ if (locality_ != null) {
+ locality_ =
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.newBuilder(locality_).mergeFrom(value).buildPartial();
+ } else {
+ locality_ = value;
+ }
+ onChanged();
+ } else {
+ localityBuilder_.mergeFrom(value);
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public Builder clearLocality() {
+ if (localityBuilder_ == null) {
+ locality_ = null;
+ onChanged();
+ } else {
+ locality_ = null;
+ localityBuilder_ = null;
+ }
+
+ return this;
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder getLocalityBuilder() {
+
+ onChanged();
+ return getLocalityFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder() {
+ if (localityBuilder_ != null) {
+ return localityBuilder_.getMessageOrBuilder();
+ } else {
+ return locality_ == null ?
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality.getDefaultInstance() : locality_;
+ }
+ }
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder>
+ getLocalityFieldBuilder() {
+ if (localityBuilder_ == null) {
+ localityBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality, io.grpc.xds.shaded.envoy.api.v2.core.Locality.Builder, io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder>(
+ getLocality(),
+ getParentForChildren(),
+ isClean());
+ locality_ = null;
+ }
+ return localityBuilder_;
+ }
+
+ private long totalSuccessfulRequests_ ;
+ /**
+ * <pre>
+ * The total number of requests sent by this Envoy since the last report. This
+ * information is aggregated over all the upstream Endpoints. total_requests
+ * can be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ public long getTotalSuccessfulRequests() {
+ return totalSuccessfulRequests_;
+ }
+ /**
+ * <pre>
+ * The total number of requests sent by this Envoy since the last report. This
+ * information is aggregated over all the upstream Endpoints. total_requests
+ * can be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ public Builder setTotalSuccessfulRequests(long value) {
+
+ totalSuccessfulRequests_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The total number of requests sent by this Envoy since the last report. This
+ * information is aggregated over all the upstream Endpoints. total_requests
+ * can be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ public Builder clearTotalSuccessfulRequests() {
+
+ totalSuccessfulRequests_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long totalRequestsInProgress_ ;
+ /**
+ * <pre>
+ * The total number of unfinished requests
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ public long getTotalRequestsInProgress() {
+ return totalRequestsInProgress_;
+ }
+ /**
+ * <pre>
+ * The total number of unfinished requests
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ public Builder setTotalRequestsInProgress(long value) {
+
+ totalRequestsInProgress_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The total number of unfinished requests
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ public Builder clearTotalRequestsInProgress() {
+
+ totalRequestsInProgress_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long totalErrorRequests_ ;
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint,
+ * aggregated over all endpoints in the locality.
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ public long getTotalErrorRequests() {
+ return totalErrorRequests_;
+ }
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint,
+ * aggregated over all endpoints in the locality.
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ public Builder setTotalErrorRequests(long value) {
+
+ totalErrorRequests_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint,
+ * aggregated over all endpoints in the locality.
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ public Builder clearTotalErrorRequests() {
+
+ totalErrorRequests_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> loadMetricStats_ =
+ java.util.Collections.emptyList();
+ private void ensureLoadMetricStatsIsMutable() {
+ if (!((bitField0_ & 0x00000010) == 0x00000010)) {
+ loadMetricStats_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats>(loadMetricStats_);
+ bitField0_ |= 0x00000010;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder> loadMetricStatsBuilder_;
+
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> getLoadMetricStatsList() {
+ if (loadMetricStatsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(loadMetricStats_);
+ } else {
+ return loadMetricStatsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public int getLoadMetricStatsCount() {
+ if (loadMetricStatsBuilder_ == null) {
+ return loadMetricStats_.size();
+ } else {
+ return loadMetricStatsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getLoadMetricStats(int index) {
+ if (loadMetricStatsBuilder_ == null) {
+ return loadMetricStats_.get(index);
+ } else {
+ return loadMetricStatsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder setLoadMetricStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats value) {
+ if (loadMetricStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.set(index, value);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder setLoadMetricStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder builderForValue) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addLoadMetricStats(io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats value) {
+ if (loadMetricStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.add(value);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addLoadMetricStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats value) {
+ if (loadMetricStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.add(index, value);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addLoadMetricStats(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder builderForValue) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.add(builderForValue.build());
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addLoadMetricStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder builderForValue) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder addAllLoadMetricStats(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats> values) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, loadMetricStats_);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder clearLoadMetricStats() {
+ if (loadMetricStatsBuilder_ == null) {
+ loadMetricStats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000010);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public Builder removeLoadMetricStats(int index) {
+ if (loadMetricStatsBuilder_ == null) {
+ ensureLoadMetricStatsIsMutable();
+ loadMetricStats_.remove(index);
+ onChanged();
+ } else {
+ loadMetricStatsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder getLoadMetricStatsBuilder(
+ int index) {
+ return getLoadMetricStatsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder getLoadMetricStatsOrBuilder(
+ int index) {
+ if (loadMetricStatsBuilder_ == null) {
+ return loadMetricStats_.get(index); } else {
+ return loadMetricStatsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>
+ getLoadMetricStatsOrBuilderList() {
+ if (loadMetricStatsBuilder_ != null) {
+ return loadMetricStatsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(loadMetricStats_);
+ }
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder addLoadMetricStatsBuilder() {
+ return getLoadMetricStatsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder addLoadMetricStatsBuilder(
+ int index) {
+ return getLoadMetricStatsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder>
+ getLoadMetricStatsBuilderList() {
+ return getLoadMetricStatsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>
+ getLoadMetricStatsFieldBuilder() {
+ if (loadMetricStatsBuilder_ == null) {
+ loadMetricStatsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>(
+ loadMetricStats_,
+ ((bitField0_ & 0x00000010) == 0x00000010),
+ getParentForChildren(),
+ isClean());
+ loadMetricStats_ = null;
+ }
+ return loadMetricStatsBuilder_;
+ }
+
+ private java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats> upstreamEndpointStats_ =
+ java.util.Collections.emptyList();
+ private void ensureUpstreamEndpointStatsIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ upstreamEndpointStats_ = new java.util.ArrayList<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats>(upstreamEndpointStats_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder> upstreamEndpointStatsBuilder_;
+
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats> getUpstreamEndpointStatsList() {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(upstreamEndpointStats_);
+ } else {
+ return upstreamEndpointStatsBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public int getUpstreamEndpointStatsCount() {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ return upstreamEndpointStats_.size();
+ } else {
+ return upstreamEndpointStatsBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats getUpstreamEndpointStats(int index) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ return upstreamEndpointStats_.get(index);
+ } else {
+ return upstreamEndpointStatsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder setUpstreamEndpointStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats value) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUpstreamEndpointStatsIsMutable();
+ upstreamEndpointStats_.set(index, value);
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder setUpstreamEndpointStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder builderForValue) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ ensureUpstreamEndpointStatsIsMutable();
+ upstreamEndpointStats_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder addUpstreamEndpointStats(io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats value) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUpstreamEndpointStatsIsMutable();
+ upstreamEndpointStats_.add(value);
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder addUpstreamEndpointStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats value) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureUpstreamEndpointStatsIsMutable();
+ upstreamEndpointStats_.add(index, value);
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder addUpstreamEndpointStats(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder builderForValue) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ ensureUpstreamEndpointStatsIsMutable();
+ upstreamEndpointStats_.add(builderForValue.build());
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder addUpstreamEndpointStats(
+ int index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder builderForValue) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ ensureUpstreamEndpointStatsIsMutable();
+ upstreamEndpointStats_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder addAllUpstreamEndpointStats(
+ java.lang.Iterable<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats> values) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ ensureUpstreamEndpointStatsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, upstreamEndpointStats_);
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder clearUpstreamEndpointStats() {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ upstreamEndpointStats_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public Builder removeUpstreamEndpointStats(int index) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ ensureUpstreamEndpointStatsIsMutable();
+ upstreamEndpointStats_.remove(index);
+ onChanged();
+ } else {
+ upstreamEndpointStatsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder getUpstreamEndpointStatsBuilder(
+ int index) {
+ return getUpstreamEndpointStatsFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder getUpstreamEndpointStatsOrBuilder(
+ int index) {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ return upstreamEndpointStats_.get(index); } else {
+ return upstreamEndpointStatsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder>
+ getUpstreamEndpointStatsOrBuilderList() {
+ if (upstreamEndpointStatsBuilder_ != null) {
+ return upstreamEndpointStatsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(upstreamEndpointStats_);
+ }
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder addUpstreamEndpointStatsBuilder() {
+ return getUpstreamEndpointStatsFieldBuilder().addBuilder(
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder addUpstreamEndpointStatsBuilder(
+ int index) {
+ return getUpstreamEndpointStatsFieldBuilder().addBuilder(
+ index, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ public java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder>
+ getUpstreamEndpointStatsBuilderList() {
+ return getUpstreamEndpointStatsFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder>
+ getUpstreamEndpointStatsFieldBuilder() {
+ if (upstreamEndpointStatsBuilder_ == null) {
+ upstreamEndpointStatsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats.Builder, io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder>(
+ upstreamEndpointStats_,
+ ((bitField0_ & 0x00000020) == 0x00000020),
+ getParentForChildren(),
+ isClean());
+ upstreamEndpointStats_ = null;
+ }
+ return upstreamEndpointStatsBuilder_;
+ }
+
+ private int priority_ ;
+ /**
+ * <pre>
+ * [#not-implemented-hide:] The priority of the endpoint group these metrics
+ * were collected from.
+ * </pre>
+ *
+ * <code>uint32 priority = 6;</code>
+ */
+ public int getPriority() {
+ return priority_;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] The priority of the endpoint group these metrics
+ * were collected from.
+ * </pre>
+ *
+ * <code>uint32 priority = 6;</code>
+ */
+ public Builder setPriority(int value) {
+
+ priority_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * [#not-implemented-hide:] The priority of the endpoint group these metrics
+ * were collected from.
+ * </pre>
+ *
+ * <code>uint32 priority = 6;</code>
+ */
+ public Builder clearPriority() {
+
+ priority_ = 0;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.api.v2.endpoint.UpstreamLocalityStats)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.api.v2.endpoint.UpstreamLocalityStats)
+ private static final io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats();
+ }
+
+ public static io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<UpstreamLocalityStats>
+ PARSER = new com.google.protobuf.AbstractParser<UpstreamLocalityStats>() {
+ public UpstreamLocalityStats parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UpstreamLocalityStats(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<UpstreamLocalityStats> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<UpstreamLocalityStats> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamLocalityStats getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamLocalityStatsOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamLocalityStatsOrBuilder.java
new file mode 100644
index 000000000..55b15024a
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/api/v2/endpoint/UpstreamLocalityStatsOrBuilder.java
@@ -0,0 +1,180 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/api/v2/endpoint/load_report.proto
+
+package io.grpc.xds.shaded.envoy.api.v2.endpoint;
+
+public interface UpstreamLocalityStatsOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.api.v2.endpoint.UpstreamLocalityStats)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ boolean hasLocality();
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.Locality getLocality();
+ /**
+ * <pre>
+ * Name of zone, region and optionally endpoint group these metrics were
+ * collected from. Zone and region names could be empty if unknown.
+ * </pre>
+ *
+ * <code>.envoy.api.v2.core.Locality locality = 1;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.core.LocalityOrBuilder getLocalityOrBuilder();
+
+ /**
+ * <pre>
+ * The total number of requests sent by this Envoy since the last report. This
+ * information is aggregated over all the upstream Endpoints. total_requests
+ * can be inferred from:
+ * .. code-block:: none
+ * total_requests = total_successful_requests + total_requests_in_progress +
+ * total_error_requests
+ * The total number of requests successfully completed by the endpoints in the
+ * locality.
+ * </pre>
+ *
+ * <code>uint64 total_successful_requests = 2;</code>
+ */
+ long getTotalSuccessfulRequests();
+
+ /**
+ * <pre>
+ * The total number of unfinished requests
+ * </pre>
+ *
+ * <code>uint64 total_requests_in_progress = 3;</code>
+ */
+ long getTotalRequestsInProgress();
+
+ /**
+ * <pre>
+ * The total number of requests that failed due to errors at the endpoint,
+ * aggregated over all endpoints in the locality.
+ * </pre>
+ *
+ * <code>uint64 total_error_requests = 4;</code>
+ */
+ long getTotalErrorRequests();
+
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats>
+ getLoadMetricStatsList();
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStats getLoadMetricStats(int index);
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ int getLoadMetricStatsCount();
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder>
+ getLoadMetricStatsOrBuilderList();
+ /**
+ * <pre>
+ * Stats for multi-dimensional load balancing.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.EndpointLoadMetricStats load_metric_stats = 5;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.EndpointLoadMetricStatsOrBuilder getLoadMetricStatsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ java.util.List<io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats>
+ getUpstreamEndpointStatsList();
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStats getUpstreamEndpointStats(int index);
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ int getUpstreamEndpointStatsCount();
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ java.util.List<? extends io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder>
+ getUpstreamEndpointStatsOrBuilderList();
+ /**
+ * <pre>
+ * Endpoint granularity stats information for this locality. This information
+ * is populated if the Server requests it by setting
+ * :ref:`LoadStatsResponse.report_endpoint_granularity&lt;envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity&gt;`.
+ * </pre>
+ *
+ * <code>repeated .envoy.api.v2.endpoint.UpstreamEndpointStats upstream_endpoint_stats = 7;</code>
+ */
+ io.grpc.xds.shaded.envoy.api.v2.endpoint.UpstreamEndpointStatsOrBuilder getUpstreamEndpointStatsOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * [#not-implemented-hide:] The priority of the endpoint group these metrics
+ * were collected from.
+ * </pre>
+ *
+ * <code>uint32 priority = 6;</code>
+ */
+ int getPriority();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/FractionalPercent.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/FractionalPercent.java
new file mode 100644
index 000000000..60114ed14
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/FractionalPercent.java
@@ -0,0 +1,738 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/type/percent.proto
+
+package io.grpc.xds.shaded.envoy.type;
+
+/**
+ * <pre>
+ * A fractional percentage is used in cases in which for performance reasons performing floating
+ * point to integer conversions during randomness calculations is undesirable. The message includes
+ * both a numerator and denominator that together determine the final fractional value.
+ * * **Example**: 1/100 = 1%.
+ * * **Example**: 3/10000 = 0.03%.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.type.FractionalPercent}
+ */
+public final class FractionalPercent extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.type.FractionalPercent)
+ FractionalPercentOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use FractionalPercent.newBuilder() to construct.
+ private FractionalPercent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private FractionalPercent() {
+ numerator_ = 0;
+ denominator_ = 0;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private FractionalPercent(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+
+ numerator_ = input.readUInt32();
+ break;
+ }
+ case 16: {
+ int rawValue = input.readEnum();
+
+ denominator_ = rawValue;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_FractionalPercent_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_FractionalPercent_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.class, io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder.class);
+ }
+
+ /**
+ * <pre>
+ * Fraction percentages support several fixed denominator values.
+ * </pre>
+ *
+ * Protobuf enum {@code envoy.type.FractionalPercent.DenominatorType}
+ */
+ public enum DenominatorType
+ implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ * <pre>
+ * 100.
+ * **Example**: 1/100 = 1%.
+ * </pre>
+ *
+ * <code>HUNDRED = 0;</code>
+ */
+ HUNDRED(0),
+ /**
+ * <pre>
+ * 10,000.
+ * **Example**: 1/10000 = 0.01%.
+ * </pre>
+ *
+ * <code>TEN_THOUSAND = 1;</code>
+ */
+ TEN_THOUSAND(1),
+ /**
+ * <pre>
+ * 1,000,000.
+ * **Example**: 1/1000000 = 0.0001%.
+ * </pre>
+ *
+ * <code>MILLION = 2;</code>
+ */
+ MILLION(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ * <pre>
+ * 100.
+ * **Example**: 1/100 = 1%.
+ * </pre>
+ *
+ * <code>HUNDRED = 0;</code>
+ */
+ public static final int HUNDRED_VALUE = 0;
+ /**
+ * <pre>
+ * 10,000.
+ * **Example**: 1/10000 = 0.01%.
+ * </pre>
+ *
+ * <code>TEN_THOUSAND = 1;</code>
+ */
+ public static final int TEN_THOUSAND_VALUE = 1;
+ /**
+ * <pre>
+ * 1,000,000.
+ * **Example**: 1/1000000 = 0.0001%.
+ * </pre>
+ *
+ * <code>MILLION = 2;</code>
+ */
+ public static final int MILLION_VALUE = 2;
+
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static DenominatorType valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static DenominatorType forNumber(int value) {
+ switch (value) {
+ case 0: return HUNDRED;
+ case 1: return TEN_THOUSAND;
+ case 2: return MILLION;
+ default: return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap<DenominatorType>
+ internalGetValueMap() {
+ return internalValueMap;
+ }
+ private static final com.google.protobuf.Internal.EnumLiteMap<
+ DenominatorType> internalValueMap =
+ new com.google.protobuf.Internal.EnumLiteMap<DenominatorType>() {
+ public DenominatorType findValueByNumber(int number) {
+ return DenominatorType.forNumber(number);
+ }
+ };
+
+ public final com.google.protobuf.Descriptors.EnumValueDescriptor
+ getValueDescriptor() {
+ return getDescriptor().getValues().get(ordinal());
+ }
+ public final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptorForType() {
+ return getDescriptor();
+ }
+ public static final com.google.protobuf.Descriptors.EnumDescriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.type.FractionalPercent.getDescriptor().getEnumTypes().get(0);
+ }
+
+ private static final DenominatorType[] VALUES = values();
+
+ public static DenominatorType valueOf(
+ com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
+ if (desc.getType() != getDescriptor()) {
+ throw new java.lang.IllegalArgumentException(
+ "EnumValueDescriptor is not for this type.");
+ }
+ if (desc.getIndex() == -1) {
+ return UNRECOGNIZED;
+ }
+ return VALUES[desc.getIndex()];
+ }
+
+ private final int value;
+
+ private DenominatorType(int value) {
+ this.value = value;
+ }
+
+ // @@protoc_insertion_point(enum_scope:envoy.type.FractionalPercent.DenominatorType)
+ }
+
+ public static final int NUMERATOR_FIELD_NUMBER = 1;
+ private int numerator_;
+ /**
+ * <pre>
+ * Specifies the numerator. Defaults to 0.
+ * </pre>
+ *
+ * <code>uint32 numerator = 1;</code>
+ */
+ public int getNumerator() {
+ return numerator_;
+ }
+
+ public static final int DENOMINATOR_FIELD_NUMBER = 2;
+ private int denominator_;
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getDenominatorValue() {
+ return denominator_;
+ }
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType getDenominator() {
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType result = io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType.valueOf(denominator_);
+ return result == null ? io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType.UNRECOGNIZED : result;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (numerator_ != 0) {
+ output.writeUInt32(1, numerator_);
+ }
+ if (denominator_ != io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType.HUNDRED.getNumber()) {
+ output.writeEnum(2, denominator_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (numerator_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(1, numerator_);
+ }
+ if (denominator_ != io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType.HUNDRED.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeEnumSize(2, denominator_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.type.FractionalPercent)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.type.FractionalPercent other = (io.grpc.xds.shaded.envoy.type.FractionalPercent) obj;
+
+ boolean result = true;
+ result = result && (getNumerator()
+ == other.getNumerator());
+ result = result && denominator_ == other.denominator_;
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NUMERATOR_FIELD_NUMBER;
+ hash = (53 * hash) + getNumerator();
+ hash = (37 * hash) + DENOMINATOR_FIELD_NUMBER;
+ hash = (53 * hash) + denominator_;
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.type.FractionalPercent prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * A fractional percentage is used in cases in which for performance reasons performing floating
+ * point to integer conversions during randomness calculations is undesirable. The message includes
+ * both a numerator and denominator that together determine the final fractional value.
+ * * **Example**: 1/100 = 1%.
+ * * **Example**: 3/10000 = 0.03%.
+ * </pre>
+ *
+ * Protobuf type {@code envoy.type.FractionalPercent}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.type.FractionalPercent)
+ io.grpc.xds.shaded.envoy.type.FractionalPercentOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_FractionalPercent_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_FractionalPercent_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.class, io.grpc.xds.shaded.envoy.type.FractionalPercent.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.type.FractionalPercent.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ numerator_ = 0;
+
+ denominator_ = 0;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_FractionalPercent_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.type.FractionalPercent.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent build() {
+ io.grpc.xds.shaded.envoy.type.FractionalPercent result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent buildPartial() {
+ io.grpc.xds.shaded.envoy.type.FractionalPercent result = new io.grpc.xds.shaded.envoy.type.FractionalPercent(this);
+ result.numerator_ = numerator_;
+ result.denominator_ = denominator_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.type.FractionalPercent) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.type.FractionalPercent)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.type.FractionalPercent other) {
+ if (other == io.grpc.xds.shaded.envoy.type.FractionalPercent.getDefaultInstance()) return this;
+ if (other.getNumerator() != 0) {
+ setNumerator(other.getNumerator());
+ }
+ if (other.denominator_ != 0) {
+ setDenominatorValue(other.getDenominatorValue());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.type.FractionalPercent parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.type.FractionalPercent) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private int numerator_ ;
+ /**
+ * <pre>
+ * Specifies the numerator. Defaults to 0.
+ * </pre>
+ *
+ * <code>uint32 numerator = 1;</code>
+ */
+ public int getNumerator() {
+ return numerator_;
+ }
+ /**
+ * <pre>
+ * Specifies the numerator. Defaults to 0.
+ * </pre>
+ *
+ * <code>uint32 numerator = 1;</code>
+ */
+ public Builder setNumerator(int value) {
+
+ numerator_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the numerator. Defaults to 0.
+ * </pre>
+ *
+ * <code>uint32 numerator = 1;</code>
+ */
+ public Builder clearNumerator() {
+
+ numerator_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int denominator_ = 0;
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ public int getDenominatorValue() {
+ return denominator_;
+ }
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDenominatorValue(int value) {
+ denominator_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType getDenominator() {
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType result = io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType.valueOf(denominator_);
+ return result == null ? io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType.UNRECOGNIZED : result;
+ }
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setDenominator(io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ denominator_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearDenominator() {
+
+ denominator_ = 0;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.type.FractionalPercent)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.type.FractionalPercent)
+ private static final io.grpc.xds.shaded.envoy.type.FractionalPercent DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.type.FractionalPercent();
+ }
+
+ public static io.grpc.xds.shaded.envoy.type.FractionalPercent getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<FractionalPercent>
+ PARSER = new com.google.protobuf.AbstractParser<FractionalPercent>() {
+ public FractionalPercent parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new FractionalPercent(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<FractionalPercent> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<FractionalPercent> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.type.FractionalPercent getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/FractionalPercentOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/FractionalPercentOrBuilder.java
new file mode 100644
index 000000000..dd9e637d3
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/FractionalPercentOrBuilder.java
@@ -0,0 +1,37 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/type/percent.proto
+
+package io.grpc.xds.shaded.envoy.type;
+
+public interface FractionalPercentOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.type.FractionalPercent)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Specifies the numerator. Defaults to 0.
+ * </pre>
+ *
+ * <code>uint32 numerator = 1;</code>
+ */
+ int getNumerator();
+
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ int getDenominatorValue();
+ /**
+ * <pre>
+ * Specifies the denominator. If the denominator specified is less than the numerator, the final
+ * fractional percentage is capped at 1 (100%).
+ * </pre>
+ *
+ * <code>.envoy.type.FractionalPercent.DenominatorType denominator = 2 [(.validate.rules) = { ... }</code>
+ */
+ io.grpc.xds.shaded.envoy.type.FractionalPercent.DenominatorType getDenominator();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/Percent.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/Percent.java
new file mode 100644
index 000000000..5843d6a93
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/Percent.java
@@ -0,0 +1,458 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/type/percent.proto
+
+package io.grpc.xds.shaded.envoy.type;
+
+/**
+ * <pre>
+ * Identifies a percentage, in the range [0.0, 100.0].
+ * </pre>
+ *
+ * Protobuf type {@code envoy.type.Percent}
+ */
+public final class Percent extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:envoy.type.Percent)
+ PercentOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Percent.newBuilder() to construct.
+ private Percent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Percent() {
+ value_ = 0D;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Percent(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownFieldProto3(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 9: {
+
+ value_ = input.readDouble();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_Percent_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_Percent_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.type.Percent.class, io.grpc.xds.shaded.envoy.type.Percent.Builder.class);
+ }
+
+ public static final int VALUE_FIELD_NUMBER = 1;
+ private double value_;
+ /**
+ * <code>double value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public double getValue() {
+ return value_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (value_ != 0D) {
+ output.writeDouble(1, value_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (value_ != 0D) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(1, value_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.envoy.type.Percent)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.envoy.type.Percent other = (io.grpc.xds.shaded.envoy.type.Percent) obj;
+
+ boolean result = true;
+ result = result && (
+ java.lang.Double.doubleToLongBits(getValue())
+ == java.lang.Double.doubleToLongBits(
+ other.getValue()));
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getValue()));
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.envoy.type.Percent parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.envoy.type.Percent prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Identifies a percentage, in the range [0.0, 100.0].
+ * </pre>
+ *
+ * Protobuf type {@code envoy.type.Percent}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:envoy.type.Percent)
+ io.grpc.xds.shaded.envoy.type.PercentOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_Percent_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_Percent_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.envoy.type.Percent.class, io.grpc.xds.shaded.envoy.type.Percent.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.envoy.type.Percent.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ value_ = 0D;
+
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.envoy.type.PercentOuterClass.internal_static_envoy_type_Percent_descriptor;
+ }
+
+ public io.grpc.xds.shaded.envoy.type.Percent getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.envoy.type.Percent.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.envoy.type.Percent build() {
+ io.grpc.xds.shaded.envoy.type.Percent result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.envoy.type.Percent buildPartial() {
+ io.grpc.xds.shaded.envoy.type.Percent result = new io.grpc.xds.shaded.envoy.type.Percent(this);
+ result.value_ = value_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.envoy.type.Percent) {
+ return mergeFrom((io.grpc.xds.shaded.envoy.type.Percent)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.envoy.type.Percent other) {
+ if (other == io.grpc.xds.shaded.envoy.type.Percent.getDefaultInstance()) return this;
+ if (other.getValue() != 0D) {
+ setValue(other.getValue());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.envoy.type.Percent parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.envoy.type.Percent) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private double value_ ;
+ /**
+ * <code>double value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public double getValue() {
+ return value_;
+ }
+ /**
+ * <code>double value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder setValue(double value) {
+
+ value_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>double value = 1 [(.validate.rules) = { ... }</code>
+ */
+ public Builder clearValue() {
+
+ value_ = 0D;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFieldsProto3(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:envoy.type.Percent)
+ }
+
+ // @@protoc_insertion_point(class_scope:envoy.type.Percent)
+ private static final io.grpc.xds.shaded.envoy.type.Percent DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.envoy.type.Percent();
+ }
+
+ public static io.grpc.xds.shaded.envoy.type.Percent getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<Percent>
+ PARSER = new com.google.protobuf.AbstractParser<Percent>() {
+ public Percent parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Percent(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Percent> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Percent> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.envoy.type.Percent getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/PercentOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/PercentOrBuilder.java
new file mode 100644
index 000000000..eaf765d1d
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/PercentOrBuilder.java
@@ -0,0 +1,14 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/type/percent.proto
+
+package io.grpc.xds.shaded.envoy.type;
+
+public interface PercentOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:envoy.type.Percent)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>double value = 1 [(.validate.rules) = { ... }</code>
+ */
+ double getValue();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/PercentOuterClass.java b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/PercentOuterClass.java
new file mode 100644
index 000000000..a3ffef05f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/envoy/type/PercentOuterClass.java
@@ -0,0 +1,80 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: envoy/type/percent.proto
+
+package io.grpc.xds.shaded.envoy.type;
+
+public final class PercentOuterClass {
+ private PercentOuterClass() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_type_Percent_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_type_Percent_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_envoy_type_FractionalPercent_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_envoy_type_FractionalPercent_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\030envoy/type/percent.proto\022\nenvoy.type\032\027" +
+ "validate/validate.proto\"3\n\007Percent\022(\n\005va" +
+ "lue\030\001 \001(\001B\031\272\351\300\003\024\022\022\031\000\000\000\000\000\000Y@)\000\000\000\000\000\000\000\000\"\265\001\n" +
+ "\021FractionalPercent\022\021\n\tnumerator\030\001 \001(\r\022N\n" +
+ "\013denominator\030\002 \001(\0162-.envoy.type.Fraction" +
+ "alPercent.DenominatorTypeB\n\272\351\300\003\005\202\001\002\020\001\"=\n" +
+ "\017DenominatorType\022\013\n\007HUNDRED\020\000\022\020\n\014TEN_THO" +
+ "USAND\020\001\022\013\n\007MILLION\020\002B!\n\035io.grpc.xds.shad" +
+ "ed.envoy.typeP\001b\006proto3"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ io.grpc.xds.shaded.validate.Validate.getDescriptor(),
+ }, assigner);
+ internal_static_envoy_type_Percent_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_envoy_type_Percent_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_type_Percent_descriptor,
+ new java.lang.String[] { "Value", });
+ internal_static_envoy_type_FractionalPercent_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_envoy_type_FractionalPercent_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_envoy_type_FractionalPercent_descriptor,
+ new java.lang.String[] { "Numerator", "Denominator", });
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalUpdateFileDescriptor(descriptor, registry);
+ io.grpc.xds.shaded.validate.Validate.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/AnyRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/AnyRules.java
new file mode 100644
index 000000000..4699e9e0a
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/AnyRules.java
@@ -0,0 +1,975 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * AnyRules describe constraints applied exclusively to the
+ * `google.protobuf.Any` well-known type
+ * </pre>
+ *
+ * Protobuf type {@code validate.AnyRules}
+ */
+public final class AnyRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.AnyRules)
+ AnyRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use AnyRules.newBuilder() to construct.
+ private AnyRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private AnyRules() {
+ required_ = false;
+ in_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ notIn_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private AnyRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ required_ = input.readBool();
+ break;
+ }
+ case 18: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ in_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000002;
+ }
+ in_.add(bs);
+ break;
+ }
+ case 26: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ notIn_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ notIn_.add(bs);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
+ in_ = in_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ notIn_ = notIn_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_AnyRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_AnyRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.AnyRules.class, io.grpc.xds.shaded.validate.AnyRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int REQUIRED_FIELD_NUMBER = 1;
+ private boolean required_;
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean hasRequired() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean getRequired() {
+ return required_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 2;
+ private com.google.protobuf.LazyStringList in_;
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public java.lang.String getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getInBytes(int index) {
+ return in_.getByteString(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 3;
+ private com.google.protobuf.LazyStringList notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public java.lang.String getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNotInBytes(int index) {
+ return notIn_.getByteString(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBool(1, required_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, in_.getRaw(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, notIn_.getRaw(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, required_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += computeStringSizeNoTag(in_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += computeStringSizeNoTag(notIn_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.AnyRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.AnyRules other = (io.grpc.xds.shaded.validate.AnyRules) obj;
+
+ boolean result = true;
+ result = result && (hasRequired() == other.hasRequired());
+ if (hasRequired()) {
+ result = result && (getRequired()
+ == other.getRequired());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasRequired()) {
+ hash = (37 * hash) + REQUIRED_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getRequired());
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.AnyRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.AnyRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * AnyRules describe constraints applied exclusively to the
+ * `google.protobuf.Any` well-known type
+ * </pre>
+ *
+ * Protobuf type {@code validate.AnyRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.AnyRules)
+ io.grpc.xds.shaded.validate.AnyRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_AnyRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_AnyRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.AnyRules.class, io.grpc.xds.shaded.validate.AnyRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.AnyRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ required_ = false;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ in_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ notIn_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_AnyRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.AnyRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.AnyRules build() {
+ io.grpc.xds.shaded.validate.AnyRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.AnyRules buildPartial() {
+ io.grpc.xds.shaded.validate.AnyRules result = new io.grpc.xds.shaded.validate.AnyRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.required_ = required_;
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ in_ = in_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ notIn_ = notIn_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.AnyRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.AnyRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.AnyRules other) {
+ if (other == io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance()) return this;
+ if (other.hasRequired()) {
+ setRequired(other.getRequired());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.AnyRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.AnyRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private boolean required_ ;
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean hasRequired() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean getRequired() {
+ return required_;
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public Builder setRequired(boolean value) {
+ bitField0_ |= 0x00000001;
+ required_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public Builder clearRequired() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ required_ = false;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList in_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000002) == 0x00000002)) {
+ in_ = new com.google.protobuf.LazyStringArrayList(in_);
+ bitField0_ |= 0x00000002;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getInList() {
+ return in_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public java.lang.String getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public com.google.protobuf.ByteString
+ getInBytes(int index) {
+ return in_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public Builder setIn(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public Builder addIn(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public Builder clearIn() {
+ in_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ public Builder addInBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList notIn_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ notIn_ = new com.google.protobuf.LazyStringArrayList(notIn_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getNotInList() {
+ return notIn_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public java.lang.String getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNotInBytes(int index) {
+ return notIn_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public Builder setNotIn(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public Builder addNotIn(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ public Builder addNotInBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.AnyRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.AnyRules)
+ private static final io.grpc.xds.shaded.validate.AnyRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.AnyRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.AnyRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<AnyRules>
+ PARSER = new com.google.protobuf.AbstractParser<AnyRules>() {
+ public AnyRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new AnyRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<AnyRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<AnyRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.AnyRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/AnyRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/AnyRulesOrBuilder.java
new file mode 100644
index 000000000..3cf2079fa
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/AnyRulesOrBuilder.java
@@ -0,0 +1,104 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface AnyRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.AnyRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ boolean hasRequired();
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ boolean getRequired();
+
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ java.util.List<java.lang.String>
+ getInList();
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ java.lang.String getIn(int index);
+ /**
+ * <pre>
+ * In specifies that this field's `type_url` must be equal to one of the
+ * specified values.
+ * </pre>
+ *
+ * <code>repeated string in = 2;</code>
+ */
+ com.google.protobuf.ByteString
+ getInBytes(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ java.util.List<java.lang.String>
+ getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ java.lang.String getNotIn(int index);
+ /**
+ * <pre>
+ * NotIn specifies that this field's `type_url` must not be equal to any of
+ * the specified values.
+ * </pre>
+ *
+ * <code>repeated string not_in = 3;</code>
+ */
+ com.google.protobuf.ByteString
+ getNotInBytes(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BoolRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BoolRules.java
new file mode 100644
index 000000000..beb5af09f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BoolRules.java
@@ -0,0 +1,505 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * BoolRules describes the constraints applied to `bool` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.BoolRules}
+ */
+public final class BoolRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.BoolRules)
+ BoolRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use BoolRules.newBuilder() to construct.
+ private BoolRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private BoolRules() {
+ const_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private BoolRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BoolRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BoolRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.BoolRules.class, io.grpc.xds.shaded.validate.BoolRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private boolean const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bool const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bool const = 1;</code>
+ */
+ public boolean getConst() {
+ return const_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBool(1, const_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, const_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.BoolRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.BoolRules other = (io.grpc.xds.shaded.validate.BoolRules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getConst());
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.BoolRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.BoolRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * BoolRules describes the constraints applied to `bool` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.BoolRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.BoolRules)
+ io.grpc.xds.shaded.validate.BoolRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BoolRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BoolRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.BoolRules.class, io.grpc.xds.shaded.validate.BoolRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.BoolRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = false;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BoolRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.BoolRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.BoolRules build() {
+ io.grpc.xds.shaded.validate.BoolRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.BoolRules buildPartial() {
+ io.grpc.xds.shaded.validate.BoolRules result = new io.grpc.xds.shaded.validate.BoolRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.BoolRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.BoolRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.BoolRules other) {
+ if (other == io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.BoolRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.BoolRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private boolean const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bool const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bool const = 1;</code>
+ */
+ public boolean getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bool const = 1;</code>
+ */
+ public Builder setConst(boolean value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bool const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.BoolRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.BoolRules)
+ private static final io.grpc.xds.shaded.validate.BoolRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.BoolRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.BoolRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<BoolRules>
+ PARSER = new com.google.protobuf.AbstractParser<BoolRules>() {
+ public BoolRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new BoolRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<BoolRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<BoolRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.BoolRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BoolRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BoolRulesOrBuilder.java
new file mode 100644
index 000000000..832a4093a
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BoolRulesOrBuilder.java
@@ -0,0 +1,26 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface BoolRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.BoolRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bool const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bool const = 1;</code>
+ */
+ boolean getConst();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BytesRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BytesRules.java
new file mode 100644
index 000000000..05dde6bc8
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BytesRules.java
@@ -0,0 +1,2058 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * BytesRules describe the constraints applied to `bytes` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.BytesRules}
+ */
+public final class BytesRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.BytesRules)
+ BytesRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use BytesRules.newBuilder() to construct.
+ private BytesRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private BytesRules() {
+ const_ = com.google.protobuf.ByteString.EMPTY;
+ minLen_ = 0L;
+ maxLen_ = 0L;
+ pattern_ = "";
+ prefix_ = com.google.protobuf.ByteString.EMPTY;
+ suffix_ = com.google.protobuf.ByteString.EMPTY;
+ contains_ = com.google.protobuf.ByteString.EMPTY;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private BytesRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readBytes();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ minLen_ = input.readUInt64();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ maxLen_ = input.readUInt64();
+ break;
+ }
+ case 34: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ bitField0_ |= 0x00000008;
+ pattern_ = bs;
+ break;
+ }
+ case 42: {
+ bitField0_ |= 0x00000010;
+ prefix_ = input.readBytes();
+ break;
+ }
+ case 50: {
+ bitField0_ |= 0x00000020;
+ suffix_ = input.readBytes();
+ break;
+ }
+ case 58: {
+ bitField0_ |= 0x00000040;
+ contains_ = input.readBytes();
+ break;
+ }
+ case 66: {
+ if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
+ in_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
+ mutable_bitField0_ |= 0x00000080;
+ }
+ in_.add(input.readBytes());
+ break;
+ }
+ case 74: {
+ if (!((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
+ notIn_ = new java.util.ArrayList<com.google.protobuf.ByteString>();
+ mutable_bitField0_ |= 0x00000100;
+ }
+ notIn_.add(input.readBytes());
+ break;
+ }
+ case 80: {
+ wellKnownCase_ = 10;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ case 88: {
+ wellKnownCase_ = 11;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ case 96: {
+ wellKnownCase_ = 12;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000100) == 0x00000100)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BytesRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BytesRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.BytesRules.class, io.grpc.xds.shaded.validate.BytesRules.Builder.class);
+ }
+
+ private int bitField0_;
+ private int wellKnownCase_ = 0;
+ private java.lang.Object wellKnown_;
+ public enum WellKnownCase
+ implements com.google.protobuf.Internal.EnumLite {
+ IP(10),
+ IPV4(11),
+ IPV6(12),
+ WELLKNOWN_NOT_SET(0);
+ private final int value;
+ private WellKnownCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static WellKnownCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static WellKnownCase forNumber(int value) {
+ switch (value) {
+ case 10: return IP;
+ case 11: return IPV4;
+ case 12: return IPV6;
+ case 0: return WELLKNOWN_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public WellKnownCase
+ getWellKnownCase() {
+ return WellKnownCase.forNumber(
+ wellKnownCase_);
+ }
+
+ public static final int CONST_FIELD_NUMBER = 1;
+ private com.google.protobuf.ByteString const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bytes const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bytes const = 1;</code>
+ */
+ public com.google.protobuf.ByteString getConst() {
+ return const_;
+ }
+
+ public static final int MIN_LEN_FIELD_NUMBER = 2;
+ private long minLen_;
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public boolean hasMinLen() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public long getMinLen() {
+ return minLen_;
+ }
+
+ public static final int MAX_LEN_FIELD_NUMBER = 3;
+ private long maxLen_;
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public boolean hasMaxLen() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public long getMaxLen() {
+ return maxLen_;
+ }
+
+ public static final int PATTERN_FIELD_NUMBER = 4;
+ private volatile java.lang.Object pattern_;
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public boolean hasPattern() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public java.lang.String getPattern() {
+ java.lang.Object ref = pattern_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ pattern_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getPatternBytes() {
+ java.lang.Object ref = pattern_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ pattern_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int PREFIX_FIELD_NUMBER = 5;
+ private com.google.protobuf.ByteString prefix_;
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified bytes at the
+ * beginning of the string.
+ * </pre>
+ *
+ * <code>optional bytes prefix = 5;</code>
+ */
+ public boolean hasPrefix() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified bytes at the
+ * beginning of the string.
+ * </pre>
+ *
+ * <code>optional bytes prefix = 5;</code>
+ */
+ public com.google.protobuf.ByteString getPrefix() {
+ return prefix_;
+ }
+
+ public static final int SUFFIX_FIELD_NUMBER = 6;
+ private com.google.protobuf.ByteString suffix_;
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified bytes at the
+ * end of the string.
+ * </pre>
+ *
+ * <code>optional bytes suffix = 6;</code>
+ */
+ public boolean hasSuffix() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified bytes at the
+ * end of the string.
+ * </pre>
+ *
+ * <code>optional bytes suffix = 6;</code>
+ */
+ public com.google.protobuf.ByteString getSuffix() {
+ return suffix_;
+ }
+
+ public static final int CONTAINS_FIELD_NUMBER = 7;
+ private com.google.protobuf.ByteString contains_;
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified bytes
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional bytes contains = 7;</code>
+ */
+ public boolean hasContains() {
+ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified bytes
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional bytes contains = 7;</code>
+ */
+ public com.google.protobuf.ByteString getContains() {
+ return contains_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 8;
+ private java.util.List<com.google.protobuf.ByteString> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public java.util.List<com.google.protobuf.ByteString>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public com.google.protobuf.ByteString getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 9;
+ private java.util.List<com.google.protobuf.ByteString> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public java.util.List<com.google.protobuf.ByteString>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public com.google.protobuf.ByteString getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ public static final int IP_FIELD_NUMBER = 10;
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
+ * byte format
+ * </pre>
+ *
+ * <code>optional bool ip = 10;</code>
+ */
+ public boolean hasIp() {
+ return wellKnownCase_ == 10;
+ }
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
+ * byte format
+ * </pre>
+ *
+ * <code>optional bool ip = 10;</code>
+ */
+ public boolean getIp() {
+ if (wellKnownCase_ == 10) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ public static final int IPV4_FIELD_NUMBER = 11;
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 11;</code>
+ */
+ public boolean hasIpv4() {
+ return wellKnownCase_ == 11;
+ }
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 11;</code>
+ */
+ public boolean getIpv4() {
+ if (wellKnownCase_ == 11) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ public static final int IPV6_FIELD_NUMBER = 12;
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 12;</code>
+ */
+ public boolean hasIpv6() {
+ return wellKnownCase_ == 12;
+ }
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 12;</code>
+ */
+ public boolean getIpv6() {
+ if (wellKnownCase_ == 12) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBytes(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeUInt64(2, minLen_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeUInt64(3, maxLen_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 4, pattern_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeBytes(5, prefix_);
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ output.writeBytes(6, suffix_);
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ output.writeBytes(7, contains_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeBytes(8, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeBytes(9, notIn_.get(i));
+ }
+ if (wellKnownCase_ == 10) {
+ output.writeBool(
+ 10, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 11) {
+ output.writeBool(
+ 11, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 12) {
+ output.writeBool(
+ 12, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, minLen_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(3, maxLen_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, pattern_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(5, prefix_);
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(6, suffix_);
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBytesSize(7, contains_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeBytesSizeNoTag(in_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeBytesSizeNoTag(notIn_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ if (wellKnownCase_ == 10) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 10, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 11) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 11, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 12) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 12, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.BytesRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.BytesRules other = (io.grpc.xds.shaded.validate.BytesRules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && getConst()
+ .equals(other.getConst());
+ }
+ result = result && (hasMinLen() == other.hasMinLen());
+ if (hasMinLen()) {
+ result = result && (getMinLen()
+ == other.getMinLen());
+ }
+ result = result && (hasMaxLen() == other.hasMaxLen());
+ if (hasMaxLen()) {
+ result = result && (getMaxLen()
+ == other.getMaxLen());
+ }
+ result = result && (hasPattern() == other.hasPattern());
+ if (hasPattern()) {
+ result = result && getPattern()
+ .equals(other.getPattern());
+ }
+ result = result && (hasPrefix() == other.hasPrefix());
+ if (hasPrefix()) {
+ result = result && getPrefix()
+ .equals(other.getPrefix());
+ }
+ result = result && (hasSuffix() == other.hasSuffix());
+ if (hasSuffix()) {
+ result = result && getSuffix()
+ .equals(other.getSuffix());
+ }
+ result = result && (hasContains() == other.hasContains());
+ if (hasContains()) {
+ result = result && getContains()
+ .equals(other.getContains());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && getWellKnownCase().equals(
+ other.getWellKnownCase());
+ if (!result) return false;
+ switch (wellKnownCase_) {
+ case 10:
+ result = result && (getIp()
+ == other.getIp());
+ break;
+ case 11:
+ result = result && (getIpv4()
+ == other.getIpv4());
+ break;
+ case 12:
+ result = result && (getIpv6()
+ == other.getIpv6());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst().hashCode();
+ }
+ if (hasMinLen()) {
+ hash = (37 * hash) + MIN_LEN_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMinLen());
+ }
+ if (hasMaxLen()) {
+ hash = (37 * hash) + MAX_LEN_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMaxLen());
+ }
+ if (hasPattern()) {
+ hash = (37 * hash) + PATTERN_FIELD_NUMBER;
+ hash = (53 * hash) + getPattern().hashCode();
+ }
+ if (hasPrefix()) {
+ hash = (37 * hash) + PREFIX_FIELD_NUMBER;
+ hash = (53 * hash) + getPrefix().hashCode();
+ }
+ if (hasSuffix()) {
+ hash = (37 * hash) + SUFFIX_FIELD_NUMBER;
+ hash = (53 * hash) + getSuffix().hashCode();
+ }
+ if (hasContains()) {
+ hash = (37 * hash) + CONTAINS_FIELD_NUMBER;
+ hash = (53 * hash) + getContains().hashCode();
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ switch (wellKnownCase_) {
+ case 10:
+ hash = (37 * hash) + IP_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getIp());
+ break;
+ case 11:
+ hash = (37 * hash) + IPV4_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getIpv4());
+ break;
+ case 12:
+ hash = (37 * hash) + IPV6_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getIpv6());
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.BytesRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.BytesRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * BytesRules describe the constraints applied to `bytes` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.BytesRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.BytesRules)
+ io.grpc.xds.shaded.validate.BytesRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BytesRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BytesRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.BytesRules.class, io.grpc.xds.shaded.validate.BytesRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.BytesRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = com.google.protobuf.ByteString.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ minLen_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ maxLen_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ pattern_ = "";
+ bitField0_ = (bitField0_ & ~0x00000008);
+ prefix_ = com.google.protobuf.ByteString.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ suffix_ = com.google.protobuf.ByteString.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ contains_ = com.google.protobuf.ByteString.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000080);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000100);
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_BytesRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.BytesRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.BytesRules build() {
+ io.grpc.xds.shaded.validate.BytesRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.BytesRules buildPartial() {
+ io.grpc.xds.shaded.validate.BytesRules result = new io.grpc.xds.shaded.validate.BytesRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.minLen_ = minLen_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.maxLen_ = maxLen_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.pattern_ = pattern_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.prefix_ = prefix_;
+ if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
+ to_bitField0_ |= 0x00000020;
+ }
+ result.suffix_ = suffix_;
+ if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
+ to_bitField0_ |= 0x00000040;
+ }
+ result.contains_ = contains_;
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000080);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000100) == 0x00000100)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000100);
+ }
+ result.notIn_ = notIn_;
+ if (wellKnownCase_ == 10) {
+ result.wellKnown_ = wellKnown_;
+ }
+ if (wellKnownCase_ == 11) {
+ result.wellKnown_ = wellKnown_;
+ }
+ if (wellKnownCase_ == 12) {
+ result.wellKnown_ = wellKnown_;
+ }
+ result.bitField0_ = to_bitField0_;
+ result.wellKnownCase_ = wellKnownCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.BytesRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.BytesRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.BytesRules other) {
+ if (other == io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasMinLen()) {
+ setMinLen(other.getMinLen());
+ }
+ if (other.hasMaxLen()) {
+ setMaxLen(other.getMaxLen());
+ }
+ if (other.hasPattern()) {
+ bitField0_ |= 0x00000008;
+ pattern_ = other.pattern_;
+ onChanged();
+ }
+ if (other.hasPrefix()) {
+ setPrefix(other.getPrefix());
+ }
+ if (other.hasSuffix()) {
+ setSuffix(other.getSuffix());
+ }
+ if (other.hasContains()) {
+ setContains(other.getContains());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000080);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000100);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ switch (other.getWellKnownCase()) {
+ case IP: {
+ setIp(other.getIp());
+ break;
+ }
+ case IPV4: {
+ setIpv4(other.getIpv4());
+ break;
+ }
+ case IPV6: {
+ setIpv6(other.getIpv6());
+ break;
+ }
+ case WELLKNOWN_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.BytesRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.BytesRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int wellKnownCase_ = 0;
+ private java.lang.Object wellKnown_;
+ public WellKnownCase
+ getWellKnownCase() {
+ return WellKnownCase.forNumber(
+ wellKnownCase_);
+ }
+
+ public Builder clearWellKnown() {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ return this;
+ }
+
+ private int bitField0_;
+
+ private com.google.protobuf.ByteString const_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bytes const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bytes const = 1;</code>
+ */
+ public com.google.protobuf.ByteString getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bytes const = 1;</code>
+ */
+ public Builder setConst(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bytes const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = getDefaultInstance().getConst();
+ onChanged();
+ return this;
+ }
+
+ private long minLen_ ;
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public boolean hasMinLen() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public long getMinLen() {
+ return minLen_;
+ }
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public Builder setMinLen(long value) {
+ bitField0_ |= 0x00000002;
+ minLen_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public Builder clearMinLen() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ minLen_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long maxLen_ ;
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public boolean hasMaxLen() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public long getMaxLen() {
+ return maxLen_;
+ }
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public Builder setMaxLen(long value) {
+ bitField0_ |= 0x00000004;
+ maxLen_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public Builder clearMaxLen() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ maxLen_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object pattern_ = "";
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public boolean hasPattern() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public java.lang.String getPattern() {
+ java.lang.Object ref = pattern_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ pattern_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public com.google.protobuf.ByteString
+ getPatternBytes() {
+ java.lang.Object ref = pattern_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ pattern_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public Builder setPattern(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000008;
+ pattern_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public Builder clearPattern() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ pattern_ = getDefaultInstance().getPattern();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ public Builder setPatternBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000008;
+ pattern_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.ByteString prefix_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified bytes at the
+ * beginning of the string.
+ * </pre>
+ *
+ * <code>optional bytes prefix = 5;</code>
+ */
+ public boolean hasPrefix() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified bytes at the
+ * beginning of the string.
+ * </pre>
+ *
+ * <code>optional bytes prefix = 5;</code>
+ */
+ public com.google.protobuf.ByteString getPrefix() {
+ return prefix_;
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified bytes at the
+ * beginning of the string.
+ * </pre>
+ *
+ * <code>optional bytes prefix = 5;</code>
+ */
+ public Builder setPrefix(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000010;
+ prefix_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified bytes at the
+ * beginning of the string.
+ * </pre>
+ *
+ * <code>optional bytes prefix = 5;</code>
+ */
+ public Builder clearPrefix() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ prefix_ = getDefaultInstance().getPrefix();
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.ByteString suffix_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified bytes at the
+ * end of the string.
+ * </pre>
+ *
+ * <code>optional bytes suffix = 6;</code>
+ */
+ public boolean hasSuffix() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified bytes at the
+ * end of the string.
+ * </pre>
+ *
+ * <code>optional bytes suffix = 6;</code>
+ */
+ public com.google.protobuf.ByteString getSuffix() {
+ return suffix_;
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified bytes at the
+ * end of the string.
+ * </pre>
+ *
+ * <code>optional bytes suffix = 6;</code>
+ */
+ public Builder setSuffix(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000020;
+ suffix_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified bytes at the
+ * end of the string.
+ * </pre>
+ *
+ * <code>optional bytes suffix = 6;</code>
+ */
+ public Builder clearSuffix() {
+ bitField0_ = (bitField0_ & ~0x00000020);
+ suffix_ = getDefaultInstance().getSuffix();
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.ByteString contains_ = com.google.protobuf.ByteString.EMPTY;
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified bytes
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional bytes contains = 7;</code>
+ */
+ public boolean hasContains() {
+ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified bytes
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional bytes contains = 7;</code>
+ */
+ public com.google.protobuf.ByteString getContains() {
+ return contains_;
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified bytes
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional bytes contains = 7;</code>
+ */
+ public Builder setContains(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000040;
+ contains_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified bytes
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional bytes contains = 7;</code>
+ */
+ public Builder clearContains() {
+ bitField0_ = (bitField0_ & ~0x00000040);
+ contains_ = getDefaultInstance().getContains();
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<com.google.protobuf.ByteString> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000080) == 0x00000080)) {
+ in_ = new java.util.ArrayList<com.google.protobuf.ByteString>(in_);
+ bitField0_ |= 0x00000080;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public java.util.List<com.google.protobuf.ByteString>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public com.google.protobuf.ByteString getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public Builder setIn(
+ int index, com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public Builder addIn(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000080);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<com.google.protobuf.ByteString> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000100) == 0x00000100)) {
+ notIn_ = new java.util.ArrayList<com.google.protobuf.ByteString>(notIn_);
+ bitField0_ |= 0x00000100;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public java.util.List<com.google.protobuf.ByteString>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public com.google.protobuf.ByteString getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public Builder setNotIn(
+ int index, com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public Builder addNotIn(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends com.google.protobuf.ByteString> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000100);
+ onChanged();
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
+ * byte format
+ * </pre>
+ *
+ * <code>optional bool ip = 10;</code>
+ */
+ public boolean hasIp() {
+ return wellKnownCase_ == 10;
+ }
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
+ * byte format
+ * </pre>
+ *
+ * <code>optional bool ip = 10;</code>
+ */
+ public boolean getIp() {
+ if (wellKnownCase_ == 10) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
+ * byte format
+ * </pre>
+ *
+ * <code>optional bool ip = 10;</code>
+ */
+ public Builder setIp(boolean value) {
+ wellKnownCase_ = 10;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
+ * byte format
+ * </pre>
+ *
+ * <code>optional bool ip = 10;</code>
+ */
+ public Builder clearIp() {
+ if (wellKnownCase_ == 10) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 11;</code>
+ */
+ public boolean hasIpv4() {
+ return wellKnownCase_ == 11;
+ }
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 11;</code>
+ */
+ public boolean getIpv4() {
+ if (wellKnownCase_ == 11) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 11;</code>
+ */
+ public Builder setIpv4(boolean value) {
+ wellKnownCase_ = 11;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 11;</code>
+ */
+ public Builder clearIpv4() {
+ if (wellKnownCase_ == 11) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 12;</code>
+ */
+ public boolean hasIpv6() {
+ return wellKnownCase_ == 12;
+ }
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 12;</code>
+ */
+ public boolean getIpv6() {
+ if (wellKnownCase_ == 12) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 12;</code>
+ */
+ public Builder setIpv6(boolean value) {
+ wellKnownCase_ = 12;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 12;</code>
+ */
+ public Builder clearIpv6() {
+ if (wellKnownCase_ == 12) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.BytesRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.BytesRules)
+ private static final io.grpc.xds.shaded.validate.BytesRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.BytesRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.BytesRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<BytesRules>
+ PARSER = new com.google.protobuf.AbstractParser<BytesRules>() {
+ public BytesRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new BytesRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<BytesRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<BytesRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.BytesRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BytesRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BytesRulesOrBuilder.java
new file mode 100644
index 000000000..60e8235bf
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/BytesRulesOrBuilder.java
@@ -0,0 +1,268 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface BytesRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.BytesRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bytes const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional bytes const = 1;</code>
+ */
+ com.google.protobuf.ByteString getConst();
+
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ boolean hasMinLen();
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ long getMinLen();
+
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ boolean hasMaxLen();
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ long getMaxLen();
+
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ boolean hasPattern();
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ java.lang.String getPattern();
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 4;</code>
+ */
+ com.google.protobuf.ByteString
+ getPatternBytes();
+
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified bytes at the
+ * beginning of the string.
+ * </pre>
+ *
+ * <code>optional bytes prefix = 5;</code>
+ */
+ boolean hasPrefix();
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified bytes at the
+ * beginning of the string.
+ * </pre>
+ *
+ * <code>optional bytes prefix = 5;</code>
+ */
+ com.google.protobuf.ByteString getPrefix();
+
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified bytes at the
+ * end of the string.
+ * </pre>
+ *
+ * <code>optional bytes suffix = 6;</code>
+ */
+ boolean hasSuffix();
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified bytes at the
+ * end of the string.
+ * </pre>
+ *
+ * <code>optional bytes suffix = 6;</code>
+ */
+ com.google.protobuf.ByteString getSuffix();
+
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified bytes
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional bytes contains = 7;</code>
+ */
+ boolean hasContains();
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified bytes
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional bytes contains = 7;</code>
+ */
+ com.google.protobuf.ByteString getContains();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ java.util.List<com.google.protobuf.ByteString> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes in = 8;</code>
+ */
+ com.google.protobuf.ByteString getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ java.util.List<com.google.protobuf.ByteString> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated bytes not_in = 9;</code>
+ */
+ com.google.protobuf.ByteString getNotIn(int index);
+
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
+ * byte format
+ * </pre>
+ *
+ * <code>optional bool ip = 10;</code>
+ */
+ boolean hasIp();
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
+ * byte format
+ * </pre>
+ *
+ * <code>optional bool ip = 10;</code>
+ */
+ boolean getIp();
+
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 11;</code>
+ */
+ boolean hasIpv4();
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 11;</code>
+ */
+ boolean getIpv4();
+
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 12;</code>
+ */
+ boolean hasIpv6();
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
+ * format
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 12;</code>
+ */
+ boolean getIpv6();
+
+ public io.grpc.xds.shaded.validate.BytesRules.WellKnownCase getWellKnownCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DoubleRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DoubleRules.java
new file mode 100644
index 000000000..9444715a4
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DoubleRules.java
@@ -0,0 +1,1353 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * DoubleRules describes the constraints applied to `double` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.DoubleRules}
+ */
+public final class DoubleRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.DoubleRules)
+ DoubleRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use DoubleRules.newBuilder() to construct.
+ private DoubleRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DoubleRules() {
+ const_ = 0D;
+ lt_ = 0D;
+ lte_ = 0D;
+ gt_ = 0D;
+ gte_ = 0D;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DoubleRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 9: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readDouble();
+ break;
+ }
+ case 17: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readDouble();
+ break;
+ }
+ case 25: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readDouble();
+ break;
+ }
+ case 33: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readDouble();
+ break;
+ }
+ case 41: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readDouble();
+ break;
+ }
+ case 49: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Double>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readDouble());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Double>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readDouble());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 57: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Double>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readDouble());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Double>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readDouble());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DoubleRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DoubleRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.DoubleRules.class, io.grpc.xds.shaded.validate.DoubleRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private double const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional double const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional double const = 1;</code>
+ */
+ public double getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private double lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional double lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional double lt = 2;</code>
+ */
+ public double getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private double lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional double lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional double lte = 3;</code>
+ */
+ public double getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private double gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional double gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional double gt = 4;</code>
+ */
+ public double getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private double gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional double gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional double gte = 5;</code>
+ */
+ public double getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Double> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public java.util.List<java.lang.Double>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public double getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Double> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Double>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public double getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeDouble(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeDouble(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeDouble(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeDouble(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeDouble(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeDouble(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeDouble(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeDoubleSize(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ dataSize = 8 * getInList().size();
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ dataSize = 8 * getNotInList().size();
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.DoubleRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.DoubleRules other = (io.grpc.xds.shaded.validate.DoubleRules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (
+ java.lang.Double.doubleToLongBits(getConst())
+ == java.lang.Double.doubleToLongBits(
+ other.getConst()));
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (
+ java.lang.Double.doubleToLongBits(getLt())
+ == java.lang.Double.doubleToLongBits(
+ other.getLt()));
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (
+ java.lang.Double.doubleToLongBits(getLte())
+ == java.lang.Double.doubleToLongBits(
+ other.getLte()));
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (
+ java.lang.Double.doubleToLongBits(getGt())
+ == java.lang.Double.doubleToLongBits(
+ other.getGt()));
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (
+ java.lang.Double.doubleToLongBits(getGte())
+ == java.lang.Double.doubleToLongBits(
+ other.getGte()));
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getConst()));
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getLt()));
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getLte()));
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getGt()));
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ java.lang.Double.doubleToLongBits(getGte()));
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.DoubleRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.DoubleRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * DoubleRules describes the constraints applied to `double` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.DoubleRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.DoubleRules)
+ io.grpc.xds.shaded.validate.DoubleRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DoubleRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DoubleRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.DoubleRules.class, io.grpc.xds.shaded.validate.DoubleRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.DoubleRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0D;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0D;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0D;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0D;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0D;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DoubleRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.DoubleRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.DoubleRules build() {
+ io.grpc.xds.shaded.validate.DoubleRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.DoubleRules buildPartial() {
+ io.grpc.xds.shaded.validate.DoubleRules result = new io.grpc.xds.shaded.validate.DoubleRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.DoubleRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.DoubleRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.DoubleRules other) {
+ if (other == io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.DoubleRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.DoubleRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private double const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional double const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional double const = 1;</code>
+ */
+ public double getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional double const = 1;</code>
+ */
+ public Builder setConst(double value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional double const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0D;
+ onChanged();
+ return this;
+ }
+
+ private double lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional double lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional double lt = 2;</code>
+ */
+ public double getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional double lt = 2;</code>
+ */
+ public Builder setLt(double value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional double lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0D;
+ onChanged();
+ return this;
+ }
+
+ private double lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional double lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional double lte = 3;</code>
+ */
+ public double getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional double lte = 3;</code>
+ */
+ public Builder setLte(double value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional double lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0D;
+ onChanged();
+ return this;
+ }
+
+ private double gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional double gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional double gt = 4;</code>
+ */
+ public double getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional double gt = 4;</code>
+ */
+ public Builder setGt(double value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional double gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0D;
+ onChanged();
+ return this;
+ }
+
+ private double gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional double gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional double gte = 5;</code>
+ */
+ public double getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional double gte = 5;</code>
+ */
+ public Builder setGte(double value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional double gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0D;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Double> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Double>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public java.util.List<java.lang.Double>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public double getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public Builder setIn(
+ int index, double value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public Builder addIn(double value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Double> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Double> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Double>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Double>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public double getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, double value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public Builder addNotIn(double value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Double> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.DoubleRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.DoubleRules)
+ private static final io.grpc.xds.shaded.validate.DoubleRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.DoubleRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.DoubleRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<DoubleRules>
+ PARSER = new com.google.protobuf.AbstractParser<DoubleRules>() {
+ public DoubleRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DoubleRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DoubleRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DoubleRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.DoubleRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DoubleRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DoubleRulesOrBuilder.java
new file mode 100644
index 000000000..96f449054
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DoubleRulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface DoubleRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.DoubleRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional double const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional double const = 1;</code>
+ */
+ double getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional double lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional double lt = 2;</code>
+ */
+ double getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional double lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional double lte = 3;</code>
+ */
+ double getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional double gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional double gt = 4;</code>
+ */
+ double getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional double gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional double gte = 5;</code>
+ */
+ double getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ java.util.List<java.lang.Double> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double in = 6;</code>
+ */
+ double getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ java.util.List<java.lang.Double> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated double not_in = 7;</code>
+ */
+ double getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DurationRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DurationRules.java
new file mode 100644
index 000000000..6719c9610
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DurationRules.java
@@ -0,0 +1,2641 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * DurationRules describe the constraints applied exclusively to the
+ * `google.protobuf.Duration` well-known type
+ * </pre>
+ *
+ * Protobuf type {@code validate.DurationRules}
+ */
+public final class DurationRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.DurationRules)
+ DurationRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use DurationRules.newBuilder() to construct.
+ private DurationRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private DurationRules() {
+ required_ = false;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private DurationRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ required_ = input.readBool();
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ subBuilder = const_.toBuilder();
+ }
+ const_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(const_);
+ const_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000002;
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ subBuilder = lt_.toBuilder();
+ }
+ lt_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(lt_);
+ lt_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000004;
+ break;
+ }
+ case 34: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ subBuilder = lte_.toBuilder();
+ }
+ lte_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(lte_);
+ lte_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000008;
+ break;
+ }
+ case 42: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ subBuilder = gt_.toBuilder();
+ }
+ gt_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(gt_);
+ gt_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000010;
+ break;
+ }
+ case 50: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ subBuilder = gte_.toBuilder();
+ }
+ gte_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(gte_);
+ gte_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000020;
+ break;
+ }
+ case 58: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ in_ = new java.util.ArrayList<com.google.protobuf.Duration>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ in_.add(
+ input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry));
+ break;
+ }
+ case 66: {
+ if (!((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
+ notIn_ = new java.util.ArrayList<com.google.protobuf.Duration>();
+ mutable_bitField0_ |= 0x00000080;
+ }
+ notIn_.add(
+ input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry));
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000080) == 0x00000080)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DurationRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DurationRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.DurationRules.class, io.grpc.xds.shaded.validate.DurationRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int REQUIRED_FIELD_NUMBER = 1;
+ private boolean required_;
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean hasRequired() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean getRequired() {
+ return required_;
+ }
+
+ public static final int CONST_FIELD_NUMBER = 2;
+ private com.google.protobuf.Duration const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public com.google.protobuf.Duration getConst() {
+ return const_ == null ? com.google.protobuf.Duration.getDefaultInstance() : const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getConstOrBuilder() {
+ return const_ == null ? com.google.protobuf.Duration.getDefaultInstance() : const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 3;
+ private com.google.protobuf.Duration lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public com.google.protobuf.Duration getLt() {
+ return lt_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getLtOrBuilder() {
+ return lt_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 4;
+ private com.google.protobuf.Duration lte_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public com.google.protobuf.Duration getLte() {
+ return lte_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lte_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getLteOrBuilder() {
+ return lte_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 5;
+ private com.google.protobuf.Duration gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public com.google.protobuf.Duration getGt() {
+ return gt_ == null ? com.google.protobuf.Duration.getDefaultInstance() : gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getGtOrBuilder() {
+ return gt_ == null ? com.google.protobuf.Duration.getDefaultInstance() : gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 6;
+ private com.google.protobuf.Duration gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public com.google.protobuf.Duration getGte() {
+ return gte_ == null ? com.google.protobuf.Duration.getDefaultInstance() : gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getGteOrBuilder() {
+ return gte_ == null ? com.google.protobuf.Duration.getDefaultInstance() : gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 7;
+ private java.util.List<com.google.protobuf.Duration> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public java.util.List<com.google.protobuf.Duration> getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public java.util.List<? extends com.google.protobuf.DurationOrBuilder>
+ getInOrBuilderList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public com.google.protobuf.Duration getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getInOrBuilder(
+ int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 8;
+ private java.util.List<com.google.protobuf.Duration> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public java.util.List<com.google.protobuf.Duration> getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public java.util.List<? extends com.google.protobuf.DurationOrBuilder>
+ getNotInOrBuilderList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public com.google.protobuf.Duration getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getNotInOrBuilder(
+ int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBool(1, required_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeMessage(2, getConst());
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeMessage(3, getLt());
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeMessage(4, getLte());
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeMessage(5, getGt());
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ output.writeMessage(6, getGte());
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeMessage(7, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeMessage(8, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, required_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getConst());
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getLt());
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getLte());
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getGt());
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getGte());
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(8, notIn_.get(i));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.DurationRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.DurationRules other = (io.grpc.xds.shaded.validate.DurationRules) obj;
+
+ boolean result = true;
+ result = result && (hasRequired() == other.hasRequired());
+ if (hasRequired()) {
+ result = result && (getRequired()
+ == other.getRequired());
+ }
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && getConst()
+ .equals(other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && getLt()
+ .equals(other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && getLte()
+ .equals(other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && getGt()
+ .equals(other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && getGte()
+ .equals(other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasRequired()) {
+ hash = (37 * hash) + REQUIRED_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getRequired());
+ }
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst().hashCode();
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + getLt().hashCode();
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + getLte().hashCode();
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + getGt().hashCode();
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + getGte().hashCode();
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.DurationRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.DurationRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * DurationRules describe the constraints applied exclusively to the
+ * `google.protobuf.Duration` well-known type
+ * </pre>
+ *
+ * Protobuf type {@code validate.DurationRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.DurationRules)
+ io.grpc.xds.shaded.validate.DurationRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DurationRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DurationRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.DurationRules.class, io.grpc.xds.shaded.validate.DurationRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.DurationRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getConstFieldBuilder();
+ getLtFieldBuilder();
+ getLteFieldBuilder();
+ getGtFieldBuilder();
+ getGteFieldBuilder();
+ getInFieldBuilder();
+ getNotInFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ required_ = false;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ if (constBuilder_ == null) {
+ const_ = null;
+ } else {
+ constBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
+ if (ltBuilder_ == null) {
+ lt_ = null;
+ } else {
+ ltBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000004);
+ if (lteBuilder_ == null) {
+ lte_ = null;
+ } else {
+ lteBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ if (gtBuilder_ == null) {
+ gt_ = null;
+ } else {
+ gtBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ if (gteBuilder_ == null) {
+ gte_ = null;
+ } else {
+ gteBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000020);
+ if (inBuilder_ == null) {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ inBuilder_.clear();
+ }
+ if (notInBuilder_ == null) {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000080);
+ } else {
+ notInBuilder_.clear();
+ }
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_DurationRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.DurationRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.DurationRules build() {
+ io.grpc.xds.shaded.validate.DurationRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.DurationRules buildPartial() {
+ io.grpc.xds.shaded.validate.DurationRules result = new io.grpc.xds.shaded.validate.DurationRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.required_ = required_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ if (constBuilder_ == null) {
+ result.const_ = const_;
+ } else {
+ result.const_ = constBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ if (ltBuilder_ == null) {
+ result.lt_ = lt_;
+ } else {
+ result.lt_ = ltBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ if (lteBuilder_ == null) {
+ result.lte_ = lte_;
+ } else {
+ result.lte_ = lteBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ if (gtBuilder_ == null) {
+ result.gt_ = gt_;
+ } else {
+ result.gt_ = gtBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
+ to_bitField0_ |= 0x00000020;
+ }
+ if (gteBuilder_ == null) {
+ result.gte_ = gte_;
+ } else {
+ result.gte_ = gteBuilder_.build();
+ }
+ if (inBuilder_ == null) {
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.in_ = in_;
+ } else {
+ result.in_ = inBuilder_.build();
+ }
+ if (notInBuilder_ == null) {
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000080);
+ }
+ result.notIn_ = notIn_;
+ } else {
+ result.notIn_ = notInBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.DurationRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.DurationRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.DurationRules other) {
+ if (other == io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance()) return this;
+ if (other.hasRequired()) {
+ setRequired(other.getRequired());
+ }
+ if (other.hasConst()) {
+ mergeConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ mergeLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ mergeLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ mergeGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ mergeGte(other.getGte());
+ }
+ if (inBuilder_ == null) {
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.in_.isEmpty()) {
+ if (inBuilder_.isEmpty()) {
+ inBuilder_.dispose();
+ inBuilder_ = null;
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ inBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getInFieldBuilder() : null;
+ } else {
+ inBuilder_.addAllMessages(other.in_);
+ }
+ }
+ }
+ if (notInBuilder_ == null) {
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000080);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.notIn_.isEmpty()) {
+ if (notInBuilder_.isEmpty()) {
+ notInBuilder_.dispose();
+ notInBuilder_ = null;
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000080);
+ notInBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
+ getNotInFieldBuilder() : null;
+ } else {
+ notInBuilder_.addAllMessages(other.notIn_);
+ }
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.DurationRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.DurationRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private boolean required_ ;
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean hasRequired() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean getRequired() {
+ return required_;
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public Builder setRequired(boolean value) {
+ bitField0_ |= 0x00000001;
+ required_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public Builder clearRequired() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ required_ = false;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Duration const_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> constBuilder_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public com.google.protobuf.Duration getConst() {
+ if (constBuilder_ == null) {
+ return const_ == null ? com.google.protobuf.Duration.getDefaultInstance() : const_;
+ } else {
+ return constBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public Builder setConst(com.google.protobuf.Duration value) {
+ if (constBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ const_ = value;
+ onChanged();
+ } else {
+ constBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public Builder setConst(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (constBuilder_ == null) {
+ const_ = builderForValue.build();
+ onChanged();
+ } else {
+ constBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public Builder mergeConst(com.google.protobuf.Duration value) {
+ if (constBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002) &&
+ const_ != null &&
+ const_ != com.google.protobuf.Duration.getDefaultInstance()) {
+ const_ =
+ com.google.protobuf.Duration.newBuilder(const_).mergeFrom(value).buildPartial();
+ } else {
+ const_ = value;
+ }
+ onChanged();
+ } else {
+ constBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public Builder clearConst() {
+ if (constBuilder_ == null) {
+ const_ = null;
+ onChanged();
+ } else {
+ constBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public com.google.protobuf.Duration.Builder getConstBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return getConstFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getConstOrBuilder() {
+ if (constBuilder_ != null) {
+ return constBuilder_.getMessageOrBuilder();
+ } else {
+ return const_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : const_;
+ }
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getConstFieldBuilder() {
+ if (constBuilder_ == null) {
+ constBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getConst(),
+ getParentForChildren(),
+ isClean());
+ const_ = null;
+ }
+ return constBuilder_;
+ }
+
+ private com.google.protobuf.Duration lt_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> ltBuilder_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public com.google.protobuf.Duration getLt() {
+ if (ltBuilder_ == null) {
+ return lt_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lt_;
+ } else {
+ return ltBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public Builder setLt(com.google.protobuf.Duration value) {
+ if (ltBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ lt_ = value;
+ onChanged();
+ } else {
+ ltBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public Builder setLt(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (ltBuilder_ == null) {
+ lt_ = builderForValue.build();
+ onChanged();
+ } else {
+ ltBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public Builder mergeLt(com.google.protobuf.Duration value) {
+ if (ltBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) == 0x00000004) &&
+ lt_ != null &&
+ lt_ != com.google.protobuf.Duration.getDefaultInstance()) {
+ lt_ =
+ com.google.protobuf.Duration.newBuilder(lt_).mergeFrom(value).buildPartial();
+ } else {
+ lt_ = value;
+ }
+ onChanged();
+ } else {
+ ltBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public Builder clearLt() {
+ if (ltBuilder_ == null) {
+ lt_ = null;
+ onChanged();
+ } else {
+ ltBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public com.google.protobuf.Duration.Builder getLtBuilder() {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return getLtFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getLtOrBuilder() {
+ if (ltBuilder_ != null) {
+ return ltBuilder_.getMessageOrBuilder();
+ } else {
+ return lt_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : lt_;
+ }
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getLtFieldBuilder() {
+ if (ltBuilder_ == null) {
+ ltBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getLt(),
+ getParentForChildren(),
+ isClean());
+ lt_ = null;
+ }
+ return ltBuilder_;
+ }
+
+ private com.google.protobuf.Duration lte_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> lteBuilder_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public com.google.protobuf.Duration getLte() {
+ if (lteBuilder_ == null) {
+ return lte_ == null ? com.google.protobuf.Duration.getDefaultInstance() : lte_;
+ } else {
+ return lteBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public Builder setLte(com.google.protobuf.Duration value) {
+ if (lteBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ lte_ = value;
+ onChanged();
+ } else {
+ lteBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public Builder setLte(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (lteBuilder_ == null) {
+ lte_ = builderForValue.build();
+ onChanged();
+ } else {
+ lteBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public Builder mergeLte(com.google.protobuf.Duration value) {
+ if (lteBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) == 0x00000008) &&
+ lte_ != null &&
+ lte_ != com.google.protobuf.Duration.getDefaultInstance()) {
+ lte_ =
+ com.google.protobuf.Duration.newBuilder(lte_).mergeFrom(value).buildPartial();
+ } else {
+ lte_ = value;
+ }
+ onChanged();
+ } else {
+ lteBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public Builder clearLte() {
+ if (lteBuilder_ == null) {
+ lte_ = null;
+ onChanged();
+ } else {
+ lteBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public com.google.protobuf.Duration.Builder getLteBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getLteFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getLteOrBuilder() {
+ if (lteBuilder_ != null) {
+ return lteBuilder_.getMessageOrBuilder();
+ } else {
+ return lte_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : lte_;
+ }
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getLteFieldBuilder() {
+ if (lteBuilder_ == null) {
+ lteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getLte(),
+ getParentForChildren(),
+ isClean());
+ lte_ = null;
+ }
+ return lteBuilder_;
+ }
+
+ private com.google.protobuf.Duration gt_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> gtBuilder_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public com.google.protobuf.Duration getGt() {
+ if (gtBuilder_ == null) {
+ return gt_ == null ? com.google.protobuf.Duration.getDefaultInstance() : gt_;
+ } else {
+ return gtBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public Builder setGt(com.google.protobuf.Duration value) {
+ if (gtBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ gt_ = value;
+ onChanged();
+ } else {
+ gtBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public Builder setGt(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (gtBuilder_ == null) {
+ gt_ = builderForValue.build();
+ onChanged();
+ } else {
+ gtBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public Builder mergeGt(com.google.protobuf.Duration value) {
+ if (gtBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) == 0x00000010) &&
+ gt_ != null &&
+ gt_ != com.google.protobuf.Duration.getDefaultInstance()) {
+ gt_ =
+ com.google.protobuf.Duration.newBuilder(gt_).mergeFrom(value).buildPartial();
+ } else {
+ gt_ = value;
+ }
+ onChanged();
+ } else {
+ gtBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public Builder clearGt() {
+ if (gtBuilder_ == null) {
+ gt_ = null;
+ onChanged();
+ } else {
+ gtBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public com.google.protobuf.Duration.Builder getGtBuilder() {
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return getGtFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getGtOrBuilder() {
+ if (gtBuilder_ != null) {
+ return gtBuilder_.getMessageOrBuilder();
+ } else {
+ return gt_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : gt_;
+ }
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getGtFieldBuilder() {
+ if (gtBuilder_ == null) {
+ gtBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getGt(),
+ getParentForChildren(),
+ isClean());
+ gt_ = null;
+ }
+ return gtBuilder_;
+ }
+
+ private com.google.protobuf.Duration gte_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> gteBuilder_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public com.google.protobuf.Duration getGte() {
+ if (gteBuilder_ == null) {
+ return gte_ == null ? com.google.protobuf.Duration.getDefaultInstance() : gte_;
+ } else {
+ return gteBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public Builder setGte(com.google.protobuf.Duration value) {
+ if (gteBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ gte_ = value;
+ onChanged();
+ } else {
+ gteBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public Builder setGte(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (gteBuilder_ == null) {
+ gte_ = builderForValue.build();
+ onChanged();
+ } else {
+ gteBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public Builder mergeGte(com.google.protobuf.Duration value) {
+ if (gteBuilder_ == null) {
+ if (((bitField0_ & 0x00000020) == 0x00000020) &&
+ gte_ != null &&
+ gte_ != com.google.protobuf.Duration.getDefaultInstance()) {
+ gte_ =
+ com.google.protobuf.Duration.newBuilder(gte_).mergeFrom(value).buildPartial();
+ } else {
+ gte_ = value;
+ }
+ onChanged();
+ } else {
+ gteBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public Builder clearGte() {
+ if (gteBuilder_ == null) {
+ gte_ = null;
+ onChanged();
+ } else {
+ gteBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000020);
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public com.google.protobuf.Duration.Builder getGteBuilder() {
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return getGteFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getGteOrBuilder() {
+ if (gteBuilder_ != null) {
+ return gteBuilder_.getMessageOrBuilder();
+ } else {
+ return gte_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : gte_;
+ }
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getGteFieldBuilder() {
+ if (gteBuilder_ == null) {
+ gteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getGte(),
+ getParentForChildren(),
+ isClean());
+ gte_ = null;
+ }
+ return gteBuilder_;
+ }
+
+ private java.util.List<com.google.protobuf.Duration> in_ =
+ java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ in_ = new java.util.ArrayList<com.google.protobuf.Duration>(in_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> inBuilder_;
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public java.util.List<com.google.protobuf.Duration> getInList() {
+ if (inBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(in_);
+ } else {
+ return inBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public int getInCount() {
+ if (inBuilder_ == null) {
+ return in_.size();
+ } else {
+ return inBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public com.google.protobuf.Duration getIn(int index) {
+ if (inBuilder_ == null) {
+ return in_.get(index);
+ } else {
+ return inBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder setIn(
+ int index, com.google.protobuf.Duration value) {
+ if (inBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ } else {
+ inBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder setIn(
+ int index, com.google.protobuf.Duration.Builder builderForValue) {
+ if (inBuilder_ == null) {
+ ensureInIsMutable();
+ in_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ inBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder addIn(com.google.protobuf.Duration value) {
+ if (inBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ } else {
+ inBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder addIn(
+ int index, com.google.protobuf.Duration value) {
+ if (inBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.add(index, value);
+ onChanged();
+ } else {
+ inBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder addIn(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (inBuilder_ == null) {
+ ensureInIsMutable();
+ in_.add(builderForValue.build());
+ onChanged();
+ } else {
+ inBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder addIn(
+ int index, com.google.protobuf.Duration.Builder builderForValue) {
+ if (inBuilder_ == null) {
+ ensureInIsMutable();
+ in_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ inBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends com.google.protobuf.Duration> values) {
+ if (inBuilder_ == null) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ } else {
+ inBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder clearIn() {
+ if (inBuilder_ == null) {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ } else {
+ inBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public Builder removeIn(int index) {
+ if (inBuilder_ == null) {
+ ensureInIsMutable();
+ in_.remove(index);
+ onChanged();
+ } else {
+ inBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public com.google.protobuf.Duration.Builder getInBuilder(
+ int index) {
+ return getInFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getInOrBuilder(
+ int index) {
+ if (inBuilder_ == null) {
+ return in_.get(index); } else {
+ return inBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public java.util.List<? extends com.google.protobuf.DurationOrBuilder>
+ getInOrBuilderList() {
+ if (inBuilder_ != null) {
+ return inBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public com.google.protobuf.Duration.Builder addInBuilder() {
+ return getInFieldBuilder().addBuilder(
+ com.google.protobuf.Duration.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public com.google.protobuf.Duration.Builder addInBuilder(
+ int index) {
+ return getInFieldBuilder().addBuilder(
+ index, com.google.protobuf.Duration.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ public java.util.List<com.google.protobuf.Duration.Builder>
+ getInBuilderList() {
+ return getInFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getInFieldBuilder() {
+ if (inBuilder_ == null) {
+ inBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ in_,
+ ((bitField0_ & 0x00000040) == 0x00000040),
+ getParentForChildren(),
+ isClean());
+ in_ = null;
+ }
+ return inBuilder_;
+ }
+
+ private java.util.List<com.google.protobuf.Duration> notIn_ =
+ java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000080) == 0x00000080)) {
+ notIn_ = new java.util.ArrayList<com.google.protobuf.Duration>(notIn_);
+ bitField0_ |= 0x00000080;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> notInBuilder_;
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public java.util.List<com.google.protobuf.Duration> getNotInList() {
+ if (notInBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(notIn_);
+ } else {
+ return notInBuilder_.getMessageList();
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public int getNotInCount() {
+ if (notInBuilder_ == null) {
+ return notIn_.size();
+ } else {
+ return notInBuilder_.getCount();
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public com.google.protobuf.Duration getNotIn(int index) {
+ if (notInBuilder_ == null) {
+ return notIn_.get(index);
+ } else {
+ return notInBuilder_.getMessage(index);
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder setNotIn(
+ int index, com.google.protobuf.Duration value) {
+ if (notInBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ } else {
+ notInBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder setNotIn(
+ int index, com.google.protobuf.Duration.Builder builderForValue) {
+ if (notInBuilder_ == null) {
+ ensureNotInIsMutable();
+ notIn_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ notInBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder addNotIn(com.google.protobuf.Duration value) {
+ if (notInBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ } else {
+ notInBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder addNotIn(
+ int index, com.google.protobuf.Duration value) {
+ if (notInBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.add(index, value);
+ onChanged();
+ } else {
+ notInBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder addNotIn(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (notInBuilder_ == null) {
+ ensureNotInIsMutable();
+ notIn_.add(builderForValue.build());
+ onChanged();
+ } else {
+ notInBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder addNotIn(
+ int index, com.google.protobuf.Duration.Builder builderForValue) {
+ if (notInBuilder_ == null) {
+ ensureNotInIsMutable();
+ notIn_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ notInBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends com.google.protobuf.Duration> values) {
+ if (notInBuilder_ == null) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ } else {
+ notInBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder clearNotIn() {
+ if (notInBuilder_ == null) {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000080);
+ onChanged();
+ } else {
+ notInBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public Builder removeNotIn(int index) {
+ if (notInBuilder_ == null) {
+ ensureNotInIsMutable();
+ notIn_.remove(index);
+ onChanged();
+ } else {
+ notInBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public com.google.protobuf.Duration.Builder getNotInBuilder(
+ int index) {
+ return getNotInFieldBuilder().getBuilder(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getNotInOrBuilder(
+ int index) {
+ if (notInBuilder_ == null) {
+ return notIn_.get(index); } else {
+ return notInBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public java.util.List<? extends com.google.protobuf.DurationOrBuilder>
+ getNotInOrBuilderList() {
+ if (notInBuilder_ != null) {
+ return notInBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public com.google.protobuf.Duration.Builder addNotInBuilder() {
+ return getNotInFieldBuilder().addBuilder(
+ com.google.protobuf.Duration.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public com.google.protobuf.Duration.Builder addNotInBuilder(
+ int index) {
+ return getNotInFieldBuilder().addBuilder(
+ index, com.google.protobuf.Duration.getDefaultInstance());
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ public java.util.List<com.google.protobuf.Duration.Builder>
+ getNotInBuilderList() {
+ return getNotInFieldBuilder().getBuilderList();
+ }
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getNotInFieldBuilder() {
+ if (notInBuilder_ == null) {
+ notInBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ notIn_,
+ ((bitField0_ & 0x00000080) == 0x00000080),
+ getParentForChildren(),
+ isClean());
+ notIn_ = null;
+ }
+ return notInBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.DurationRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.DurationRules)
+ private static final io.grpc.xds.shaded.validate.DurationRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.DurationRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.DurationRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<DurationRules>
+ PARSER = new com.google.protobuf.AbstractParser<DurationRules>() {
+ public DurationRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new DurationRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<DurationRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<DurationRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.DurationRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DurationRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DurationRulesOrBuilder.java
new file mode 100644
index 000000000..4d489fa74
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/DurationRulesOrBuilder.java
@@ -0,0 +1,261 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface DurationRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.DurationRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ boolean hasRequired();
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ boolean getRequired();
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ com.google.protobuf.Duration getConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration const = 2;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getConstOrBuilder();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ com.google.protobuf.Duration getLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lt = 3;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getLtOrBuilder();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ com.google.protobuf.Duration getLte();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration lte = 4;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getLteOrBuilder();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ com.google.protobuf.Duration getGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gt = 5;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getGtOrBuilder();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ com.google.protobuf.Duration getGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration gte = 6;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getGteOrBuilder();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ java.util.List<com.google.protobuf.Duration>
+ getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ com.google.protobuf.Duration getIn(int index);
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ java.util.List<? extends com.google.protobuf.DurationOrBuilder>
+ getInOrBuilderList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration in = 7;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getInOrBuilder(
+ int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ java.util.List<com.google.protobuf.Duration>
+ getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ com.google.protobuf.Duration getNotIn(int index);
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ java.util.List<? extends com.google.protobuf.DurationOrBuilder>
+ getNotInOrBuilderList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated .google.protobuf.Duration not_in = 8;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getNotInOrBuilder(
+ int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/EnumRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/EnumRules.java
new file mode 100644
index 000000000..6490fb5e8
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/EnumRules.java
@@ -0,0 +1,1009 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * EnumRules describe the constraints applied to enum values
+ * </pre>
+ *
+ * Protobuf type {@code validate.EnumRules}
+ */
+public final class EnumRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.EnumRules)
+ EnumRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use EnumRules.newBuilder() to construct.
+ private EnumRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private EnumRules() {
+ const_ = 0;
+ definedOnly_ = false;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private EnumRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readInt32();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ definedOnly_ = input.readBool();
+ break;
+ }
+ case 24: {
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ in_.add(input.readInt32());
+ break;
+ }
+ case 26: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000004;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 32: {
+ if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000008;
+ }
+ notIn_.add(input.readInt32());
+ break;
+ }
+ case 34: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000008) == 0x00000008) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000008;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_EnumRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_EnumRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.EnumRules.class, io.grpc.xds.shaded.validate.EnumRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private int const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+
+ public static final int DEFINED_ONLY_FIELD_NUMBER = 2;
+ private boolean definedOnly_;
+ /**
+ * <pre>
+ * DefinedOnly specifies that this field must be only one of the defined
+ * values for this enum, failing on any undefined value.
+ * </pre>
+ *
+ * <code>optional bool defined_only = 2;</code>
+ */
+ public boolean hasDefinedOnly() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * DefinedOnly specifies that this field must be only one of the defined
+ * values for this enum, failing on any undefined value.
+ * </pre>
+ *
+ * <code>optional bool defined_only = 2;</code>
+ */
+ public boolean getDefinedOnly() {
+ return definedOnly_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 3;
+ private java.util.List<java.lang.Integer> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 4;
+ private java.util.List<java.lang.Integer> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeInt32(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeBool(2, definedOnly_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeInt32(3, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeInt32(4, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(2, definedOnly_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeInt32SizeNoTag(in_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeInt32SizeNoTag(notIn_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.EnumRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.EnumRules other = (io.grpc.xds.shaded.validate.EnumRules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasDefinedOnly() == other.hasDefinedOnly());
+ if (hasDefinedOnly()) {
+ result = result && (getDefinedOnly()
+ == other.getDefinedOnly());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst();
+ }
+ if (hasDefinedOnly()) {
+ hash = (37 * hash) + DEFINED_ONLY_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getDefinedOnly());
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.EnumRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.EnumRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * EnumRules describe the constraints applied to enum values
+ * </pre>
+ *
+ * Protobuf type {@code validate.EnumRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.EnumRules)
+ io.grpc.xds.shaded.validate.EnumRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_EnumRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_EnumRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.EnumRules.class, io.grpc.xds.shaded.validate.EnumRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.EnumRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ definedOnly_ = false;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_EnumRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.EnumRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.EnumRules build() {
+ io.grpc.xds.shaded.validate.EnumRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.EnumRules buildPartial() {
+ io.grpc.xds.shaded.validate.EnumRules result = new io.grpc.xds.shaded.validate.EnumRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.definedOnly_ = definedOnly_;
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000004);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000008);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.EnumRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.EnumRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.EnumRules other) {
+ if (other == io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasDefinedOnly()) {
+ setDefinedOnly(other.getDefinedOnly());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.EnumRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.EnumRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public Builder setConst(int value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private boolean definedOnly_ ;
+ /**
+ * <pre>
+ * DefinedOnly specifies that this field must be only one of the defined
+ * values for this enum, failing on any undefined value.
+ * </pre>
+ *
+ * <code>optional bool defined_only = 2;</code>
+ */
+ public boolean hasDefinedOnly() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * DefinedOnly specifies that this field must be only one of the defined
+ * values for this enum, failing on any undefined value.
+ * </pre>
+ *
+ * <code>optional bool defined_only = 2;</code>
+ */
+ public boolean getDefinedOnly() {
+ return definedOnly_;
+ }
+ /**
+ * <pre>
+ * DefinedOnly specifies that this field must be only one of the defined
+ * values for this enum, failing on any undefined value.
+ * </pre>
+ *
+ * <code>optional bool defined_only = 2;</code>
+ */
+ public Builder setDefinedOnly(boolean value) {
+ bitField0_ |= 0x00000002;
+ definedOnly_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * DefinedOnly specifies that this field must be only one of the defined
+ * values for this enum, failing on any undefined value.
+ * </pre>
+ *
+ * <code>optional bool defined_only = 2;</code>
+ */
+ public Builder clearDefinedOnly() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ definedOnly_ = false;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000004) == 0x00000004)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>(in_);
+ bitField0_ |= 0x00000004;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public Builder setIn(
+ int index, int value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public Builder addIn(int value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000008) == 0x00000008)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>(notIn_);
+ bitField0_ |= 0x00000008;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public Builder setNotIn(
+ int index, int value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public Builder addNotIn(int value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000008);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.EnumRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.EnumRules)
+ private static final io.grpc.xds.shaded.validate.EnumRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.EnumRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.EnumRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<EnumRules>
+ PARSER = new com.google.protobuf.AbstractParser<EnumRules>() {
+ public EnumRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new EnumRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<EnumRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<EnumRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.EnumRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/EnumRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/EnumRulesOrBuilder.java
new file mode 100644
index 000000000..45f77c7c5
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/EnumRulesOrBuilder.java
@@ -0,0 +1,101 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface EnumRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.EnumRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ int getConst();
+
+ /**
+ * <pre>
+ * DefinedOnly specifies that this field must be only one of the defined
+ * values for this enum, failing on any undefined value.
+ * </pre>
+ *
+ * <code>optional bool defined_only = 2;</code>
+ */
+ boolean hasDefinedOnly();
+ /**
+ * <pre>
+ * DefinedOnly specifies that this field must be only one of the defined
+ * values for this enum, failing on any undefined value.
+ * </pre>
+ *
+ * <code>optional bool defined_only = 2;</code>
+ */
+ boolean getDefinedOnly();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ java.util.List<java.lang.Integer> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 3;</code>
+ */
+ int getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ java.util.List<java.lang.Integer> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 4;</code>
+ */
+ int getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FieldRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FieldRules.java
new file mode 100644
index 000000000..4aafc644c
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FieldRules.java
@@ -0,0 +1,5104 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * FieldRules encapsulates the rules for each type of field. Depending on the
+ * field, the correct set should be used to ensure proper validations.
+ * </pre>
+ *
+ * Protobuf type {@code validate.FieldRules}
+ */
+public final class FieldRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.FieldRules)
+ FieldRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use FieldRules.newBuilder() to construct.
+ private FieldRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private FieldRules() {
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private FieldRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ io.grpc.xds.shaded.validate.FloatRules.Builder subBuilder = null;
+ if (typeCase_ == 1) {
+ subBuilder = ((io.grpc.xds.shaded.validate.FloatRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.FloatRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.FloatRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 1;
+ break;
+ }
+ case 18: {
+ io.grpc.xds.shaded.validate.DoubleRules.Builder subBuilder = null;
+ if (typeCase_ == 2) {
+ subBuilder = ((io.grpc.xds.shaded.validate.DoubleRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.DoubleRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.DoubleRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 2;
+ break;
+ }
+ case 26: {
+ io.grpc.xds.shaded.validate.Int32Rules.Builder subBuilder = null;
+ if (typeCase_ == 3) {
+ subBuilder = ((io.grpc.xds.shaded.validate.Int32Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.Int32Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.Int32Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 3;
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.validate.Int64Rules.Builder subBuilder = null;
+ if (typeCase_ == 4) {
+ subBuilder = ((io.grpc.xds.shaded.validate.Int64Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.Int64Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.Int64Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 4;
+ break;
+ }
+ case 42: {
+ io.grpc.xds.shaded.validate.UInt32Rules.Builder subBuilder = null;
+ if (typeCase_ == 5) {
+ subBuilder = ((io.grpc.xds.shaded.validate.UInt32Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.UInt32Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.UInt32Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 5;
+ break;
+ }
+ case 50: {
+ io.grpc.xds.shaded.validate.UInt64Rules.Builder subBuilder = null;
+ if (typeCase_ == 6) {
+ subBuilder = ((io.grpc.xds.shaded.validate.UInt64Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.UInt64Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.UInt64Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 6;
+ break;
+ }
+ case 58: {
+ io.grpc.xds.shaded.validate.SInt32Rules.Builder subBuilder = null;
+ if (typeCase_ == 7) {
+ subBuilder = ((io.grpc.xds.shaded.validate.SInt32Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.SInt32Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.SInt32Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 7;
+ break;
+ }
+ case 66: {
+ io.grpc.xds.shaded.validate.SInt64Rules.Builder subBuilder = null;
+ if (typeCase_ == 8) {
+ subBuilder = ((io.grpc.xds.shaded.validate.SInt64Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.SInt64Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.SInt64Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 8;
+ break;
+ }
+ case 74: {
+ io.grpc.xds.shaded.validate.Fixed32Rules.Builder subBuilder = null;
+ if (typeCase_ == 9) {
+ subBuilder = ((io.grpc.xds.shaded.validate.Fixed32Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.Fixed32Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.Fixed32Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 9;
+ break;
+ }
+ case 82: {
+ io.grpc.xds.shaded.validate.Fixed64Rules.Builder subBuilder = null;
+ if (typeCase_ == 10) {
+ subBuilder = ((io.grpc.xds.shaded.validate.Fixed64Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.Fixed64Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.Fixed64Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 10;
+ break;
+ }
+ case 90: {
+ io.grpc.xds.shaded.validate.SFixed32Rules.Builder subBuilder = null;
+ if (typeCase_ == 11) {
+ subBuilder = ((io.grpc.xds.shaded.validate.SFixed32Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.SFixed32Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.SFixed32Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 11;
+ break;
+ }
+ case 98: {
+ io.grpc.xds.shaded.validate.SFixed64Rules.Builder subBuilder = null;
+ if (typeCase_ == 12) {
+ subBuilder = ((io.grpc.xds.shaded.validate.SFixed64Rules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.SFixed64Rules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.SFixed64Rules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 12;
+ break;
+ }
+ case 106: {
+ io.grpc.xds.shaded.validate.BoolRules.Builder subBuilder = null;
+ if (typeCase_ == 13) {
+ subBuilder = ((io.grpc.xds.shaded.validate.BoolRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.BoolRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.BoolRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 13;
+ break;
+ }
+ case 114: {
+ io.grpc.xds.shaded.validate.StringRules.Builder subBuilder = null;
+ if (typeCase_ == 14) {
+ subBuilder = ((io.grpc.xds.shaded.validate.StringRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.StringRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.StringRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 14;
+ break;
+ }
+ case 122: {
+ io.grpc.xds.shaded.validate.BytesRules.Builder subBuilder = null;
+ if (typeCase_ == 15) {
+ subBuilder = ((io.grpc.xds.shaded.validate.BytesRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.BytesRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.BytesRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 15;
+ break;
+ }
+ case 130: {
+ io.grpc.xds.shaded.validate.EnumRules.Builder subBuilder = null;
+ if (typeCase_ == 16) {
+ subBuilder = ((io.grpc.xds.shaded.validate.EnumRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.EnumRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.EnumRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 16;
+ break;
+ }
+ case 138: {
+ io.grpc.xds.shaded.validate.MessageRules.Builder subBuilder = null;
+ if (typeCase_ == 17) {
+ subBuilder = ((io.grpc.xds.shaded.validate.MessageRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.MessageRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.MessageRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 17;
+ break;
+ }
+ case 146: {
+ io.grpc.xds.shaded.validate.RepeatedRules.Builder subBuilder = null;
+ if (typeCase_ == 18) {
+ subBuilder = ((io.grpc.xds.shaded.validate.RepeatedRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.RepeatedRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.RepeatedRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 18;
+ break;
+ }
+ case 154: {
+ io.grpc.xds.shaded.validate.MapRules.Builder subBuilder = null;
+ if (typeCase_ == 19) {
+ subBuilder = ((io.grpc.xds.shaded.validate.MapRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.MapRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.MapRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 19;
+ break;
+ }
+ case 162: {
+ io.grpc.xds.shaded.validate.AnyRules.Builder subBuilder = null;
+ if (typeCase_ == 20) {
+ subBuilder = ((io.grpc.xds.shaded.validate.AnyRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.AnyRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.AnyRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 20;
+ break;
+ }
+ case 170: {
+ io.grpc.xds.shaded.validate.DurationRules.Builder subBuilder = null;
+ if (typeCase_ == 21) {
+ subBuilder = ((io.grpc.xds.shaded.validate.DurationRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.DurationRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.DurationRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 21;
+ break;
+ }
+ case 178: {
+ io.grpc.xds.shaded.validate.TimestampRules.Builder subBuilder = null;
+ if (typeCase_ == 22) {
+ subBuilder = ((io.grpc.xds.shaded.validate.TimestampRules) type_).toBuilder();
+ }
+ type_ =
+ input.readMessage(io.grpc.xds.shaded.validate.TimestampRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom((io.grpc.xds.shaded.validate.TimestampRules) type_);
+ type_ = subBuilder.buildPartial();
+ }
+ typeCase_ = 22;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FieldRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FieldRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.FieldRules.class, io.grpc.xds.shaded.validate.FieldRules.Builder.class);
+ }
+
+ private int bitField0_;
+ private int typeCase_ = 0;
+ private java.lang.Object type_;
+ public enum TypeCase
+ implements com.google.protobuf.Internal.EnumLite {
+ FLOAT(1),
+ DOUBLE(2),
+ INT32(3),
+ INT64(4),
+ UINT32(5),
+ UINT64(6),
+ SINT32(7),
+ SINT64(8),
+ FIXED32(9),
+ FIXED64(10),
+ SFIXED32(11),
+ SFIXED64(12),
+ BOOL(13),
+ STRING(14),
+ BYTES(15),
+ ENUM(16),
+ MESSAGE(17),
+ REPEATED(18),
+ MAP(19),
+ ANY(20),
+ DURATION(21),
+ TIMESTAMP(22),
+ TYPE_NOT_SET(0);
+ private final int value;
+ private TypeCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static TypeCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static TypeCase forNumber(int value) {
+ switch (value) {
+ case 1: return FLOAT;
+ case 2: return DOUBLE;
+ case 3: return INT32;
+ case 4: return INT64;
+ case 5: return UINT32;
+ case 6: return UINT64;
+ case 7: return SINT32;
+ case 8: return SINT64;
+ case 9: return FIXED32;
+ case 10: return FIXED64;
+ case 11: return SFIXED32;
+ case 12: return SFIXED64;
+ case 13: return BOOL;
+ case 14: return STRING;
+ case 15: return BYTES;
+ case 16: return ENUM;
+ case 17: return MESSAGE;
+ case 18: return REPEATED;
+ case 19: return MAP;
+ case 20: return ANY;
+ case 21: return DURATION;
+ case 22: return TIMESTAMP;
+ case 0: return TYPE_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public TypeCase
+ getTypeCase() {
+ return TypeCase.forNumber(
+ typeCase_);
+ }
+
+ public static final int FLOAT_FIELD_NUMBER = 1;
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public boolean hasFloat() {
+ return typeCase_ == 1;
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public io.grpc.xds.shaded.validate.FloatRules getFloat() {
+ if (typeCase_ == 1) {
+ return (io.grpc.xds.shaded.validate.FloatRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public io.grpc.xds.shaded.validate.FloatRulesOrBuilder getFloatOrBuilder() {
+ if (typeCase_ == 1) {
+ return (io.grpc.xds.shaded.validate.FloatRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance();
+ }
+
+ public static final int DOUBLE_FIELD_NUMBER = 2;
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public boolean hasDouble() {
+ return typeCase_ == 2;
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public io.grpc.xds.shaded.validate.DoubleRules getDouble() {
+ if (typeCase_ == 2) {
+ return (io.grpc.xds.shaded.validate.DoubleRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public io.grpc.xds.shaded.validate.DoubleRulesOrBuilder getDoubleOrBuilder() {
+ if (typeCase_ == 2) {
+ return (io.grpc.xds.shaded.validate.DoubleRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance();
+ }
+
+ public static final int INT32_FIELD_NUMBER = 3;
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public boolean hasInt32() {
+ return typeCase_ == 3;
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int32Rules getInt32() {
+ if (typeCase_ == 3) {
+ return (io.grpc.xds.shaded.validate.Int32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int32RulesOrBuilder getInt32OrBuilder() {
+ if (typeCase_ == 3) {
+ return (io.grpc.xds.shaded.validate.Int32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance();
+ }
+
+ public static final int INT64_FIELD_NUMBER = 4;
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public boolean hasInt64() {
+ return typeCase_ == 4;
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int64Rules getInt64() {
+ if (typeCase_ == 4) {
+ return (io.grpc.xds.shaded.validate.Int64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int64RulesOrBuilder getInt64OrBuilder() {
+ if (typeCase_ == 4) {
+ return (io.grpc.xds.shaded.validate.Int64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance();
+ }
+
+ public static final int UINT32_FIELD_NUMBER = 5;
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public boolean hasUint32() {
+ return typeCase_ == 5;
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt32Rules getUint32() {
+ if (typeCase_ == 5) {
+ return (io.grpc.xds.shaded.validate.UInt32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt32RulesOrBuilder getUint32OrBuilder() {
+ if (typeCase_ == 5) {
+ return (io.grpc.xds.shaded.validate.UInt32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance();
+ }
+
+ public static final int UINT64_FIELD_NUMBER = 6;
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public boolean hasUint64() {
+ return typeCase_ == 6;
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt64Rules getUint64() {
+ if (typeCase_ == 6) {
+ return (io.grpc.xds.shaded.validate.UInt64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt64RulesOrBuilder getUint64OrBuilder() {
+ if (typeCase_ == 6) {
+ return (io.grpc.xds.shaded.validate.UInt64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance();
+ }
+
+ public static final int SINT32_FIELD_NUMBER = 7;
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public boolean hasSint32() {
+ return typeCase_ == 7;
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt32Rules getSint32() {
+ if (typeCase_ == 7) {
+ return (io.grpc.xds.shaded.validate.SInt32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt32RulesOrBuilder getSint32OrBuilder() {
+ if (typeCase_ == 7) {
+ return (io.grpc.xds.shaded.validate.SInt32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance();
+ }
+
+ public static final int SINT64_FIELD_NUMBER = 8;
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public boolean hasSint64() {
+ return typeCase_ == 8;
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt64Rules getSint64() {
+ if (typeCase_ == 8) {
+ return (io.grpc.xds.shaded.validate.SInt64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt64RulesOrBuilder getSint64OrBuilder() {
+ if (typeCase_ == 8) {
+ return (io.grpc.xds.shaded.validate.SInt64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance();
+ }
+
+ public static final int FIXED32_FIELD_NUMBER = 9;
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public boolean hasFixed32() {
+ return typeCase_ == 9;
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed32Rules getFixed32() {
+ if (typeCase_ == 9) {
+ return (io.grpc.xds.shaded.validate.Fixed32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed32RulesOrBuilder getFixed32OrBuilder() {
+ if (typeCase_ == 9) {
+ return (io.grpc.xds.shaded.validate.Fixed32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance();
+ }
+
+ public static final int FIXED64_FIELD_NUMBER = 10;
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public boolean hasFixed64() {
+ return typeCase_ == 10;
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed64Rules getFixed64() {
+ if (typeCase_ == 10) {
+ return (io.grpc.xds.shaded.validate.Fixed64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed64RulesOrBuilder getFixed64OrBuilder() {
+ if (typeCase_ == 10) {
+ return (io.grpc.xds.shaded.validate.Fixed64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance();
+ }
+
+ public static final int SFIXED32_FIELD_NUMBER = 11;
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public boolean hasSfixed32() {
+ return typeCase_ == 11;
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed32Rules getSfixed32() {
+ if (typeCase_ == 11) {
+ return (io.grpc.xds.shaded.validate.SFixed32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed32RulesOrBuilder getSfixed32OrBuilder() {
+ if (typeCase_ == 11) {
+ return (io.grpc.xds.shaded.validate.SFixed32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance();
+ }
+
+ public static final int SFIXED64_FIELD_NUMBER = 12;
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public boolean hasSfixed64() {
+ return typeCase_ == 12;
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed64Rules getSfixed64() {
+ if (typeCase_ == 12) {
+ return (io.grpc.xds.shaded.validate.SFixed64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed64RulesOrBuilder getSfixed64OrBuilder() {
+ if (typeCase_ == 12) {
+ return (io.grpc.xds.shaded.validate.SFixed64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance();
+ }
+
+ public static final int BOOL_FIELD_NUMBER = 13;
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public boolean hasBool() {
+ return typeCase_ == 13;
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public io.grpc.xds.shaded.validate.BoolRules getBool() {
+ if (typeCase_ == 13) {
+ return (io.grpc.xds.shaded.validate.BoolRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public io.grpc.xds.shaded.validate.BoolRulesOrBuilder getBoolOrBuilder() {
+ if (typeCase_ == 13) {
+ return (io.grpc.xds.shaded.validate.BoolRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance();
+ }
+
+ public static final int STRING_FIELD_NUMBER = 14;
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public boolean hasString() {
+ return typeCase_ == 14;
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public io.grpc.xds.shaded.validate.StringRules getString() {
+ if (typeCase_ == 14) {
+ return (io.grpc.xds.shaded.validate.StringRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.StringRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public io.grpc.xds.shaded.validate.StringRulesOrBuilder getStringOrBuilder() {
+ if (typeCase_ == 14) {
+ return (io.grpc.xds.shaded.validate.StringRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.StringRules.getDefaultInstance();
+ }
+
+ public static final int BYTES_FIELD_NUMBER = 15;
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public boolean hasBytes() {
+ return typeCase_ == 15;
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public io.grpc.xds.shaded.validate.BytesRules getBytes() {
+ if (typeCase_ == 15) {
+ return (io.grpc.xds.shaded.validate.BytesRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public io.grpc.xds.shaded.validate.BytesRulesOrBuilder getBytesOrBuilder() {
+ if (typeCase_ == 15) {
+ return (io.grpc.xds.shaded.validate.BytesRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance();
+ }
+
+ public static final int ENUM_FIELD_NUMBER = 16;
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public boolean hasEnum() {
+ return typeCase_ == 16;
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public io.grpc.xds.shaded.validate.EnumRules getEnum() {
+ if (typeCase_ == 16) {
+ return (io.grpc.xds.shaded.validate.EnumRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public io.grpc.xds.shaded.validate.EnumRulesOrBuilder getEnumOrBuilder() {
+ if (typeCase_ == 16) {
+ return (io.grpc.xds.shaded.validate.EnumRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance();
+ }
+
+ public static final int MESSAGE_FIELD_NUMBER = 17;
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public boolean hasMessage() {
+ return typeCase_ == 17;
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public io.grpc.xds.shaded.validate.MessageRules getMessage() {
+ if (typeCase_ == 17) {
+ return (io.grpc.xds.shaded.validate.MessageRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public io.grpc.xds.shaded.validate.MessageRulesOrBuilder getMessageOrBuilder() {
+ if (typeCase_ == 17) {
+ return (io.grpc.xds.shaded.validate.MessageRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance();
+ }
+
+ public static final int REPEATED_FIELD_NUMBER = 18;
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public boolean hasRepeated() {
+ return typeCase_ == 18;
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public io.grpc.xds.shaded.validate.RepeatedRules getRepeated() {
+ if (typeCase_ == 18) {
+ return (io.grpc.xds.shaded.validate.RepeatedRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public io.grpc.xds.shaded.validate.RepeatedRulesOrBuilder getRepeatedOrBuilder() {
+ if (typeCase_ == 18) {
+ return (io.grpc.xds.shaded.validate.RepeatedRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance();
+ }
+
+ public static final int MAP_FIELD_NUMBER = 19;
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public boolean hasMap() {
+ return typeCase_ == 19;
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public io.grpc.xds.shaded.validate.MapRules getMap() {
+ if (typeCase_ == 19) {
+ return (io.grpc.xds.shaded.validate.MapRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.MapRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public io.grpc.xds.shaded.validate.MapRulesOrBuilder getMapOrBuilder() {
+ if (typeCase_ == 19) {
+ return (io.grpc.xds.shaded.validate.MapRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.MapRules.getDefaultInstance();
+ }
+
+ public static final int ANY_FIELD_NUMBER = 20;
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public boolean hasAny() {
+ return typeCase_ == 20;
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public io.grpc.xds.shaded.validate.AnyRules getAny() {
+ if (typeCase_ == 20) {
+ return (io.grpc.xds.shaded.validate.AnyRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance();
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public io.grpc.xds.shaded.validate.AnyRulesOrBuilder getAnyOrBuilder() {
+ if (typeCase_ == 20) {
+ return (io.grpc.xds.shaded.validate.AnyRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance();
+ }
+
+ public static final int DURATION_FIELD_NUMBER = 21;
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public boolean hasDuration() {
+ return typeCase_ == 21;
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public io.grpc.xds.shaded.validate.DurationRules getDuration() {
+ if (typeCase_ == 21) {
+ return (io.grpc.xds.shaded.validate.DurationRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public io.grpc.xds.shaded.validate.DurationRulesOrBuilder getDurationOrBuilder() {
+ if (typeCase_ == 21) {
+ return (io.grpc.xds.shaded.validate.DurationRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance();
+ }
+
+ public static final int TIMESTAMP_FIELD_NUMBER = 22;
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public boolean hasTimestamp() {
+ return typeCase_ == 22;
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public io.grpc.xds.shaded.validate.TimestampRules getTimestamp() {
+ if (typeCase_ == 22) {
+ return (io.grpc.xds.shaded.validate.TimestampRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance();
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public io.grpc.xds.shaded.validate.TimestampRulesOrBuilder getTimestampOrBuilder() {
+ if (typeCase_ == 22) {
+ return (io.grpc.xds.shaded.validate.TimestampRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (typeCase_ == 1) {
+ output.writeMessage(1, (io.grpc.xds.shaded.validate.FloatRules) type_);
+ }
+ if (typeCase_ == 2) {
+ output.writeMessage(2, (io.grpc.xds.shaded.validate.DoubleRules) type_);
+ }
+ if (typeCase_ == 3) {
+ output.writeMessage(3, (io.grpc.xds.shaded.validate.Int32Rules) type_);
+ }
+ if (typeCase_ == 4) {
+ output.writeMessage(4, (io.grpc.xds.shaded.validate.Int64Rules) type_);
+ }
+ if (typeCase_ == 5) {
+ output.writeMessage(5, (io.grpc.xds.shaded.validate.UInt32Rules) type_);
+ }
+ if (typeCase_ == 6) {
+ output.writeMessage(6, (io.grpc.xds.shaded.validate.UInt64Rules) type_);
+ }
+ if (typeCase_ == 7) {
+ output.writeMessage(7, (io.grpc.xds.shaded.validate.SInt32Rules) type_);
+ }
+ if (typeCase_ == 8) {
+ output.writeMessage(8, (io.grpc.xds.shaded.validate.SInt64Rules) type_);
+ }
+ if (typeCase_ == 9) {
+ output.writeMessage(9, (io.grpc.xds.shaded.validate.Fixed32Rules) type_);
+ }
+ if (typeCase_ == 10) {
+ output.writeMessage(10, (io.grpc.xds.shaded.validate.Fixed64Rules) type_);
+ }
+ if (typeCase_ == 11) {
+ output.writeMessage(11, (io.grpc.xds.shaded.validate.SFixed32Rules) type_);
+ }
+ if (typeCase_ == 12) {
+ output.writeMessage(12, (io.grpc.xds.shaded.validate.SFixed64Rules) type_);
+ }
+ if (typeCase_ == 13) {
+ output.writeMessage(13, (io.grpc.xds.shaded.validate.BoolRules) type_);
+ }
+ if (typeCase_ == 14) {
+ output.writeMessage(14, (io.grpc.xds.shaded.validate.StringRules) type_);
+ }
+ if (typeCase_ == 15) {
+ output.writeMessage(15, (io.grpc.xds.shaded.validate.BytesRules) type_);
+ }
+ if (typeCase_ == 16) {
+ output.writeMessage(16, (io.grpc.xds.shaded.validate.EnumRules) type_);
+ }
+ if (typeCase_ == 17) {
+ output.writeMessage(17, (io.grpc.xds.shaded.validate.MessageRules) type_);
+ }
+ if (typeCase_ == 18) {
+ output.writeMessage(18, (io.grpc.xds.shaded.validate.RepeatedRules) type_);
+ }
+ if (typeCase_ == 19) {
+ output.writeMessage(19, (io.grpc.xds.shaded.validate.MapRules) type_);
+ }
+ if (typeCase_ == 20) {
+ output.writeMessage(20, (io.grpc.xds.shaded.validate.AnyRules) type_);
+ }
+ if (typeCase_ == 21) {
+ output.writeMessage(21, (io.grpc.xds.shaded.validate.DurationRules) type_);
+ }
+ if (typeCase_ == 22) {
+ output.writeMessage(22, (io.grpc.xds.shaded.validate.TimestampRules) type_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (typeCase_ == 1) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(1, (io.grpc.xds.shaded.validate.FloatRules) type_);
+ }
+ if (typeCase_ == 2) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, (io.grpc.xds.shaded.validate.DoubleRules) type_);
+ }
+ if (typeCase_ == 3) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, (io.grpc.xds.shaded.validate.Int32Rules) type_);
+ }
+ if (typeCase_ == 4) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, (io.grpc.xds.shaded.validate.Int64Rules) type_);
+ }
+ if (typeCase_ == 5) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, (io.grpc.xds.shaded.validate.UInt32Rules) type_);
+ }
+ if (typeCase_ == 6) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, (io.grpc.xds.shaded.validate.UInt64Rules) type_);
+ }
+ if (typeCase_ == 7) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(7, (io.grpc.xds.shaded.validate.SInt32Rules) type_);
+ }
+ if (typeCase_ == 8) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(8, (io.grpc.xds.shaded.validate.SInt64Rules) type_);
+ }
+ if (typeCase_ == 9) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(9, (io.grpc.xds.shaded.validate.Fixed32Rules) type_);
+ }
+ if (typeCase_ == 10) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(10, (io.grpc.xds.shaded.validate.Fixed64Rules) type_);
+ }
+ if (typeCase_ == 11) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(11, (io.grpc.xds.shaded.validate.SFixed32Rules) type_);
+ }
+ if (typeCase_ == 12) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(12, (io.grpc.xds.shaded.validate.SFixed64Rules) type_);
+ }
+ if (typeCase_ == 13) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(13, (io.grpc.xds.shaded.validate.BoolRules) type_);
+ }
+ if (typeCase_ == 14) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(14, (io.grpc.xds.shaded.validate.StringRules) type_);
+ }
+ if (typeCase_ == 15) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(15, (io.grpc.xds.shaded.validate.BytesRules) type_);
+ }
+ if (typeCase_ == 16) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(16, (io.grpc.xds.shaded.validate.EnumRules) type_);
+ }
+ if (typeCase_ == 17) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(17, (io.grpc.xds.shaded.validate.MessageRules) type_);
+ }
+ if (typeCase_ == 18) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(18, (io.grpc.xds.shaded.validate.RepeatedRules) type_);
+ }
+ if (typeCase_ == 19) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(19, (io.grpc.xds.shaded.validate.MapRules) type_);
+ }
+ if (typeCase_ == 20) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(20, (io.grpc.xds.shaded.validate.AnyRules) type_);
+ }
+ if (typeCase_ == 21) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(21, (io.grpc.xds.shaded.validate.DurationRules) type_);
+ }
+ if (typeCase_ == 22) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(22, (io.grpc.xds.shaded.validate.TimestampRules) type_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.FieldRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.FieldRules other = (io.grpc.xds.shaded.validate.FieldRules) obj;
+
+ boolean result = true;
+ result = result && getTypeCase().equals(
+ other.getTypeCase());
+ if (!result) return false;
+ switch (typeCase_) {
+ case 1:
+ result = result && getFloat()
+ .equals(other.getFloat());
+ break;
+ case 2:
+ result = result && getDouble()
+ .equals(other.getDouble());
+ break;
+ case 3:
+ result = result && getInt32()
+ .equals(other.getInt32());
+ break;
+ case 4:
+ result = result && getInt64()
+ .equals(other.getInt64());
+ break;
+ case 5:
+ result = result && getUint32()
+ .equals(other.getUint32());
+ break;
+ case 6:
+ result = result && getUint64()
+ .equals(other.getUint64());
+ break;
+ case 7:
+ result = result && getSint32()
+ .equals(other.getSint32());
+ break;
+ case 8:
+ result = result && getSint64()
+ .equals(other.getSint64());
+ break;
+ case 9:
+ result = result && getFixed32()
+ .equals(other.getFixed32());
+ break;
+ case 10:
+ result = result && getFixed64()
+ .equals(other.getFixed64());
+ break;
+ case 11:
+ result = result && getSfixed32()
+ .equals(other.getSfixed32());
+ break;
+ case 12:
+ result = result && getSfixed64()
+ .equals(other.getSfixed64());
+ break;
+ case 13:
+ result = result && getBool()
+ .equals(other.getBool());
+ break;
+ case 14:
+ result = result && getString()
+ .equals(other.getString());
+ break;
+ case 15:
+ result = result && getBytes()
+ .equals(other.getBytes());
+ break;
+ case 16:
+ result = result && getEnum()
+ .equals(other.getEnum());
+ break;
+ case 17:
+ result = result && getMessage()
+ .equals(other.getMessage());
+ break;
+ case 18:
+ result = result && getRepeated()
+ .equals(other.getRepeated());
+ break;
+ case 19:
+ result = result && getMap()
+ .equals(other.getMap());
+ break;
+ case 20:
+ result = result && getAny()
+ .equals(other.getAny());
+ break;
+ case 21:
+ result = result && getDuration()
+ .equals(other.getDuration());
+ break;
+ case 22:
+ result = result && getTimestamp()
+ .equals(other.getTimestamp());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (typeCase_) {
+ case 1:
+ hash = (37 * hash) + FLOAT_FIELD_NUMBER;
+ hash = (53 * hash) + getFloat().hashCode();
+ break;
+ case 2:
+ hash = (37 * hash) + DOUBLE_FIELD_NUMBER;
+ hash = (53 * hash) + getDouble().hashCode();
+ break;
+ case 3:
+ hash = (37 * hash) + INT32_FIELD_NUMBER;
+ hash = (53 * hash) + getInt32().hashCode();
+ break;
+ case 4:
+ hash = (37 * hash) + INT64_FIELD_NUMBER;
+ hash = (53 * hash) + getInt64().hashCode();
+ break;
+ case 5:
+ hash = (37 * hash) + UINT32_FIELD_NUMBER;
+ hash = (53 * hash) + getUint32().hashCode();
+ break;
+ case 6:
+ hash = (37 * hash) + UINT64_FIELD_NUMBER;
+ hash = (53 * hash) + getUint64().hashCode();
+ break;
+ case 7:
+ hash = (37 * hash) + SINT32_FIELD_NUMBER;
+ hash = (53 * hash) + getSint32().hashCode();
+ break;
+ case 8:
+ hash = (37 * hash) + SINT64_FIELD_NUMBER;
+ hash = (53 * hash) + getSint64().hashCode();
+ break;
+ case 9:
+ hash = (37 * hash) + FIXED32_FIELD_NUMBER;
+ hash = (53 * hash) + getFixed32().hashCode();
+ break;
+ case 10:
+ hash = (37 * hash) + FIXED64_FIELD_NUMBER;
+ hash = (53 * hash) + getFixed64().hashCode();
+ break;
+ case 11:
+ hash = (37 * hash) + SFIXED32_FIELD_NUMBER;
+ hash = (53 * hash) + getSfixed32().hashCode();
+ break;
+ case 12:
+ hash = (37 * hash) + SFIXED64_FIELD_NUMBER;
+ hash = (53 * hash) + getSfixed64().hashCode();
+ break;
+ case 13:
+ hash = (37 * hash) + BOOL_FIELD_NUMBER;
+ hash = (53 * hash) + getBool().hashCode();
+ break;
+ case 14:
+ hash = (37 * hash) + STRING_FIELD_NUMBER;
+ hash = (53 * hash) + getString().hashCode();
+ break;
+ case 15:
+ hash = (37 * hash) + BYTES_FIELD_NUMBER;
+ hash = (53 * hash) + getBytes().hashCode();
+ break;
+ case 16:
+ hash = (37 * hash) + ENUM_FIELD_NUMBER;
+ hash = (53 * hash) + getEnum().hashCode();
+ break;
+ case 17:
+ hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
+ hash = (53 * hash) + getMessage().hashCode();
+ break;
+ case 18:
+ hash = (37 * hash) + REPEATED_FIELD_NUMBER;
+ hash = (53 * hash) + getRepeated().hashCode();
+ break;
+ case 19:
+ hash = (37 * hash) + MAP_FIELD_NUMBER;
+ hash = (53 * hash) + getMap().hashCode();
+ break;
+ case 20:
+ hash = (37 * hash) + ANY_FIELD_NUMBER;
+ hash = (53 * hash) + getAny().hashCode();
+ break;
+ case 21:
+ hash = (37 * hash) + DURATION_FIELD_NUMBER;
+ hash = (53 * hash) + getDuration().hashCode();
+ break;
+ case 22:
+ hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
+ hash = (53 * hash) + getTimestamp().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.FieldRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.FieldRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * FieldRules encapsulates the rules for each type of field. Depending on the
+ * field, the correct set should be used to ensure proper validations.
+ * </pre>
+ *
+ * Protobuf type {@code validate.FieldRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.FieldRules)
+ io.grpc.xds.shaded.validate.FieldRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FieldRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FieldRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.FieldRules.class, io.grpc.xds.shaded.validate.FieldRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.FieldRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ typeCase_ = 0;
+ type_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FieldRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.FieldRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.FieldRules build() {
+ io.grpc.xds.shaded.validate.FieldRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.FieldRules buildPartial() {
+ io.grpc.xds.shaded.validate.FieldRules result = new io.grpc.xds.shaded.validate.FieldRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (typeCase_ == 1) {
+ if (floatBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = floatBuilder_.build();
+ }
+ }
+ if (typeCase_ == 2) {
+ if (doubleBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = doubleBuilder_.build();
+ }
+ }
+ if (typeCase_ == 3) {
+ if (int32Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = int32Builder_.build();
+ }
+ }
+ if (typeCase_ == 4) {
+ if (int64Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = int64Builder_.build();
+ }
+ }
+ if (typeCase_ == 5) {
+ if (uint32Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = uint32Builder_.build();
+ }
+ }
+ if (typeCase_ == 6) {
+ if (uint64Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = uint64Builder_.build();
+ }
+ }
+ if (typeCase_ == 7) {
+ if (sint32Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = sint32Builder_.build();
+ }
+ }
+ if (typeCase_ == 8) {
+ if (sint64Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = sint64Builder_.build();
+ }
+ }
+ if (typeCase_ == 9) {
+ if (fixed32Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = fixed32Builder_.build();
+ }
+ }
+ if (typeCase_ == 10) {
+ if (fixed64Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = fixed64Builder_.build();
+ }
+ }
+ if (typeCase_ == 11) {
+ if (sfixed32Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = sfixed32Builder_.build();
+ }
+ }
+ if (typeCase_ == 12) {
+ if (sfixed64Builder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = sfixed64Builder_.build();
+ }
+ }
+ if (typeCase_ == 13) {
+ if (boolBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = boolBuilder_.build();
+ }
+ }
+ if (typeCase_ == 14) {
+ if (stringBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = stringBuilder_.build();
+ }
+ }
+ if (typeCase_ == 15) {
+ if (bytesBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = bytesBuilder_.build();
+ }
+ }
+ if (typeCase_ == 16) {
+ if (enumBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = enumBuilder_.build();
+ }
+ }
+ if (typeCase_ == 17) {
+ if (messageBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = messageBuilder_.build();
+ }
+ }
+ if (typeCase_ == 18) {
+ if (repeatedBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = repeatedBuilder_.build();
+ }
+ }
+ if (typeCase_ == 19) {
+ if (mapBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = mapBuilder_.build();
+ }
+ }
+ if (typeCase_ == 20) {
+ if (anyBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = anyBuilder_.build();
+ }
+ }
+ if (typeCase_ == 21) {
+ if (durationBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = durationBuilder_.build();
+ }
+ }
+ if (typeCase_ == 22) {
+ if (timestampBuilder_ == null) {
+ result.type_ = type_;
+ } else {
+ result.type_ = timestampBuilder_.build();
+ }
+ }
+ result.bitField0_ = to_bitField0_;
+ result.typeCase_ = typeCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.FieldRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.FieldRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.FieldRules other) {
+ if (other == io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance()) return this;
+ switch (other.getTypeCase()) {
+ case FLOAT: {
+ mergeFloat(other.getFloat());
+ break;
+ }
+ case DOUBLE: {
+ mergeDouble(other.getDouble());
+ break;
+ }
+ case INT32: {
+ mergeInt32(other.getInt32());
+ break;
+ }
+ case INT64: {
+ mergeInt64(other.getInt64());
+ break;
+ }
+ case UINT32: {
+ mergeUint32(other.getUint32());
+ break;
+ }
+ case UINT64: {
+ mergeUint64(other.getUint64());
+ break;
+ }
+ case SINT32: {
+ mergeSint32(other.getSint32());
+ break;
+ }
+ case SINT64: {
+ mergeSint64(other.getSint64());
+ break;
+ }
+ case FIXED32: {
+ mergeFixed32(other.getFixed32());
+ break;
+ }
+ case FIXED64: {
+ mergeFixed64(other.getFixed64());
+ break;
+ }
+ case SFIXED32: {
+ mergeSfixed32(other.getSfixed32());
+ break;
+ }
+ case SFIXED64: {
+ mergeSfixed64(other.getSfixed64());
+ break;
+ }
+ case BOOL: {
+ mergeBool(other.getBool());
+ break;
+ }
+ case STRING: {
+ mergeString(other.getString());
+ break;
+ }
+ case BYTES: {
+ mergeBytes(other.getBytes());
+ break;
+ }
+ case ENUM: {
+ mergeEnum(other.getEnum());
+ break;
+ }
+ case MESSAGE: {
+ mergeMessage(other.getMessage());
+ break;
+ }
+ case REPEATED: {
+ mergeRepeated(other.getRepeated());
+ break;
+ }
+ case MAP: {
+ mergeMap(other.getMap());
+ break;
+ }
+ case ANY: {
+ mergeAny(other.getAny());
+ break;
+ }
+ case DURATION: {
+ mergeDuration(other.getDuration());
+ break;
+ }
+ case TIMESTAMP: {
+ mergeTimestamp(other.getTimestamp());
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.FieldRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.FieldRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int typeCase_ = 0;
+ private java.lang.Object type_;
+ public TypeCase
+ getTypeCase() {
+ return TypeCase.forNumber(
+ typeCase_);
+ }
+
+ public Builder clearType() {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ return this;
+ }
+
+ private int bitField0_;
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FloatRules, io.grpc.xds.shaded.validate.FloatRules.Builder, io.grpc.xds.shaded.validate.FloatRulesOrBuilder> floatBuilder_;
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public boolean hasFloat() {
+ return typeCase_ == 1;
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public io.grpc.xds.shaded.validate.FloatRules getFloat() {
+ if (floatBuilder_ == null) {
+ if (typeCase_ == 1) {
+ return (io.grpc.xds.shaded.validate.FloatRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 1) {
+ return floatBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public Builder setFloat(io.grpc.xds.shaded.validate.FloatRules value) {
+ if (floatBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ floatBuilder_.setMessage(value);
+ }
+ typeCase_ = 1;
+ return this;
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public Builder setFloat(
+ io.grpc.xds.shaded.validate.FloatRules.Builder builderForValue) {
+ if (floatBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ floatBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 1;
+ return this;
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public Builder mergeFloat(io.grpc.xds.shaded.validate.FloatRules value) {
+ if (floatBuilder_ == null) {
+ if (typeCase_ == 1 &&
+ type_ != io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.FloatRules.newBuilder((io.grpc.xds.shaded.validate.FloatRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 1) {
+ floatBuilder_.mergeFrom(value);
+ }
+ floatBuilder_.setMessage(value);
+ }
+ typeCase_ = 1;
+ return this;
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public Builder clearFloat() {
+ if (floatBuilder_ == null) {
+ if (typeCase_ == 1) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 1) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ floatBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public io.grpc.xds.shaded.validate.FloatRules.Builder getFloatBuilder() {
+ return getFloatFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ public io.grpc.xds.shaded.validate.FloatRulesOrBuilder getFloatOrBuilder() {
+ if ((typeCase_ == 1) && (floatBuilder_ != null)) {
+ return floatBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 1) {
+ return (io.grpc.xds.shaded.validate.FloatRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FloatRules, io.grpc.xds.shaded.validate.FloatRules.Builder, io.grpc.xds.shaded.validate.FloatRulesOrBuilder>
+ getFloatFieldBuilder() {
+ if (floatBuilder_ == null) {
+ if (!(typeCase_ == 1)) {
+ type_ = io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance();
+ }
+ floatBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FloatRules, io.grpc.xds.shaded.validate.FloatRules.Builder, io.grpc.xds.shaded.validate.FloatRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.FloatRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 1;
+ onChanged();;
+ return floatBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.DoubleRules, io.grpc.xds.shaded.validate.DoubleRules.Builder, io.grpc.xds.shaded.validate.DoubleRulesOrBuilder> doubleBuilder_;
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public boolean hasDouble() {
+ return typeCase_ == 2;
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public io.grpc.xds.shaded.validate.DoubleRules getDouble() {
+ if (doubleBuilder_ == null) {
+ if (typeCase_ == 2) {
+ return (io.grpc.xds.shaded.validate.DoubleRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 2) {
+ return doubleBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public Builder setDouble(io.grpc.xds.shaded.validate.DoubleRules value) {
+ if (doubleBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ doubleBuilder_.setMessage(value);
+ }
+ typeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public Builder setDouble(
+ io.grpc.xds.shaded.validate.DoubleRules.Builder builderForValue) {
+ if (doubleBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ doubleBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public Builder mergeDouble(io.grpc.xds.shaded.validate.DoubleRules value) {
+ if (doubleBuilder_ == null) {
+ if (typeCase_ == 2 &&
+ type_ != io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.DoubleRules.newBuilder((io.grpc.xds.shaded.validate.DoubleRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 2) {
+ doubleBuilder_.mergeFrom(value);
+ }
+ doubleBuilder_.setMessage(value);
+ }
+ typeCase_ = 2;
+ return this;
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public Builder clearDouble() {
+ if (doubleBuilder_ == null) {
+ if (typeCase_ == 2) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 2) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ doubleBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public io.grpc.xds.shaded.validate.DoubleRules.Builder getDoubleBuilder() {
+ return getDoubleFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ public io.grpc.xds.shaded.validate.DoubleRulesOrBuilder getDoubleOrBuilder() {
+ if ((typeCase_ == 2) && (doubleBuilder_ != null)) {
+ return doubleBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 2) {
+ return (io.grpc.xds.shaded.validate.DoubleRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.DoubleRules, io.grpc.xds.shaded.validate.DoubleRules.Builder, io.grpc.xds.shaded.validate.DoubleRulesOrBuilder>
+ getDoubleFieldBuilder() {
+ if (doubleBuilder_ == null) {
+ if (!(typeCase_ == 2)) {
+ type_ = io.grpc.xds.shaded.validate.DoubleRules.getDefaultInstance();
+ }
+ doubleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.DoubleRules, io.grpc.xds.shaded.validate.DoubleRules.Builder, io.grpc.xds.shaded.validate.DoubleRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.DoubleRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 2;
+ onChanged();;
+ return doubleBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Int32Rules, io.grpc.xds.shaded.validate.Int32Rules.Builder, io.grpc.xds.shaded.validate.Int32RulesOrBuilder> int32Builder_;
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public boolean hasInt32() {
+ return typeCase_ == 3;
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int32Rules getInt32() {
+ if (int32Builder_ == null) {
+ if (typeCase_ == 3) {
+ return (io.grpc.xds.shaded.validate.Int32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 3) {
+ return int32Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public Builder setInt32(io.grpc.xds.shaded.validate.Int32Rules value) {
+ if (int32Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ int32Builder_.setMessage(value);
+ }
+ typeCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public Builder setInt32(
+ io.grpc.xds.shaded.validate.Int32Rules.Builder builderForValue) {
+ if (int32Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ int32Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public Builder mergeInt32(io.grpc.xds.shaded.validate.Int32Rules value) {
+ if (int32Builder_ == null) {
+ if (typeCase_ == 3 &&
+ type_ != io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.Int32Rules.newBuilder((io.grpc.xds.shaded.validate.Int32Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 3) {
+ int32Builder_.mergeFrom(value);
+ }
+ int32Builder_.setMessage(value);
+ }
+ typeCase_ = 3;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public Builder clearInt32() {
+ if (int32Builder_ == null) {
+ if (typeCase_ == 3) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 3) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ int32Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int32Rules.Builder getInt32Builder() {
+ return getInt32FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int32RulesOrBuilder getInt32OrBuilder() {
+ if ((typeCase_ == 3) && (int32Builder_ != null)) {
+ return int32Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 3) {
+ return (io.grpc.xds.shaded.validate.Int32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Int32Rules, io.grpc.xds.shaded.validate.Int32Rules.Builder, io.grpc.xds.shaded.validate.Int32RulesOrBuilder>
+ getInt32FieldBuilder() {
+ if (int32Builder_ == null) {
+ if (!(typeCase_ == 3)) {
+ type_ = io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance();
+ }
+ int32Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Int32Rules, io.grpc.xds.shaded.validate.Int32Rules.Builder, io.grpc.xds.shaded.validate.Int32RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.Int32Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 3;
+ onChanged();;
+ return int32Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Int64Rules, io.grpc.xds.shaded.validate.Int64Rules.Builder, io.grpc.xds.shaded.validate.Int64RulesOrBuilder> int64Builder_;
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public boolean hasInt64() {
+ return typeCase_ == 4;
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int64Rules getInt64() {
+ if (int64Builder_ == null) {
+ if (typeCase_ == 4) {
+ return (io.grpc.xds.shaded.validate.Int64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 4) {
+ return int64Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public Builder setInt64(io.grpc.xds.shaded.validate.Int64Rules value) {
+ if (int64Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ int64Builder_.setMessage(value);
+ }
+ typeCase_ = 4;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public Builder setInt64(
+ io.grpc.xds.shaded.validate.Int64Rules.Builder builderForValue) {
+ if (int64Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ int64Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 4;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public Builder mergeInt64(io.grpc.xds.shaded.validate.Int64Rules value) {
+ if (int64Builder_ == null) {
+ if (typeCase_ == 4 &&
+ type_ != io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.Int64Rules.newBuilder((io.grpc.xds.shaded.validate.Int64Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 4) {
+ int64Builder_.mergeFrom(value);
+ }
+ int64Builder_.setMessage(value);
+ }
+ typeCase_ = 4;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public Builder clearInt64() {
+ if (int64Builder_ == null) {
+ if (typeCase_ == 4) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 4) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ int64Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int64Rules.Builder getInt64Builder() {
+ return getInt64FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.Int64RulesOrBuilder getInt64OrBuilder() {
+ if ((typeCase_ == 4) && (int64Builder_ != null)) {
+ return int64Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 4) {
+ return (io.grpc.xds.shaded.validate.Int64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Int64Rules, io.grpc.xds.shaded.validate.Int64Rules.Builder, io.grpc.xds.shaded.validate.Int64RulesOrBuilder>
+ getInt64FieldBuilder() {
+ if (int64Builder_ == null) {
+ if (!(typeCase_ == 4)) {
+ type_ = io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance();
+ }
+ int64Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Int64Rules, io.grpc.xds.shaded.validate.Int64Rules.Builder, io.grpc.xds.shaded.validate.Int64RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.Int64Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 4;
+ onChanged();;
+ return int64Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.UInt32Rules, io.grpc.xds.shaded.validate.UInt32Rules.Builder, io.grpc.xds.shaded.validate.UInt32RulesOrBuilder> uint32Builder_;
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public boolean hasUint32() {
+ return typeCase_ == 5;
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt32Rules getUint32() {
+ if (uint32Builder_ == null) {
+ if (typeCase_ == 5) {
+ return (io.grpc.xds.shaded.validate.UInt32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 5) {
+ return uint32Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public Builder setUint32(io.grpc.xds.shaded.validate.UInt32Rules value) {
+ if (uint32Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ uint32Builder_.setMessage(value);
+ }
+ typeCase_ = 5;
+ return this;
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public Builder setUint32(
+ io.grpc.xds.shaded.validate.UInt32Rules.Builder builderForValue) {
+ if (uint32Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ uint32Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 5;
+ return this;
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public Builder mergeUint32(io.grpc.xds.shaded.validate.UInt32Rules value) {
+ if (uint32Builder_ == null) {
+ if (typeCase_ == 5 &&
+ type_ != io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.UInt32Rules.newBuilder((io.grpc.xds.shaded.validate.UInt32Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 5) {
+ uint32Builder_.mergeFrom(value);
+ }
+ uint32Builder_.setMessage(value);
+ }
+ typeCase_ = 5;
+ return this;
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public Builder clearUint32() {
+ if (uint32Builder_ == null) {
+ if (typeCase_ == 5) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 5) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ uint32Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt32Rules.Builder getUint32Builder() {
+ return getUint32FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt32RulesOrBuilder getUint32OrBuilder() {
+ if ((typeCase_ == 5) && (uint32Builder_ != null)) {
+ return uint32Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 5) {
+ return (io.grpc.xds.shaded.validate.UInt32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.UInt32Rules, io.grpc.xds.shaded.validate.UInt32Rules.Builder, io.grpc.xds.shaded.validate.UInt32RulesOrBuilder>
+ getUint32FieldBuilder() {
+ if (uint32Builder_ == null) {
+ if (!(typeCase_ == 5)) {
+ type_ = io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance();
+ }
+ uint32Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.UInt32Rules, io.grpc.xds.shaded.validate.UInt32Rules.Builder, io.grpc.xds.shaded.validate.UInt32RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.UInt32Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 5;
+ onChanged();;
+ return uint32Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.UInt64Rules, io.grpc.xds.shaded.validate.UInt64Rules.Builder, io.grpc.xds.shaded.validate.UInt64RulesOrBuilder> uint64Builder_;
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public boolean hasUint64() {
+ return typeCase_ == 6;
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt64Rules getUint64() {
+ if (uint64Builder_ == null) {
+ if (typeCase_ == 6) {
+ return (io.grpc.xds.shaded.validate.UInt64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 6) {
+ return uint64Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public Builder setUint64(io.grpc.xds.shaded.validate.UInt64Rules value) {
+ if (uint64Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ uint64Builder_.setMessage(value);
+ }
+ typeCase_ = 6;
+ return this;
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public Builder setUint64(
+ io.grpc.xds.shaded.validate.UInt64Rules.Builder builderForValue) {
+ if (uint64Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ uint64Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 6;
+ return this;
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public Builder mergeUint64(io.grpc.xds.shaded.validate.UInt64Rules value) {
+ if (uint64Builder_ == null) {
+ if (typeCase_ == 6 &&
+ type_ != io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.UInt64Rules.newBuilder((io.grpc.xds.shaded.validate.UInt64Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 6) {
+ uint64Builder_.mergeFrom(value);
+ }
+ uint64Builder_.setMessage(value);
+ }
+ typeCase_ = 6;
+ return this;
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public Builder clearUint64() {
+ if (uint64Builder_ == null) {
+ if (typeCase_ == 6) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 6) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ uint64Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt64Rules.Builder getUint64Builder() {
+ return getUint64FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ public io.grpc.xds.shaded.validate.UInt64RulesOrBuilder getUint64OrBuilder() {
+ if ((typeCase_ == 6) && (uint64Builder_ != null)) {
+ return uint64Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 6) {
+ return (io.grpc.xds.shaded.validate.UInt64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.UInt64Rules, io.grpc.xds.shaded.validate.UInt64Rules.Builder, io.grpc.xds.shaded.validate.UInt64RulesOrBuilder>
+ getUint64FieldBuilder() {
+ if (uint64Builder_ == null) {
+ if (!(typeCase_ == 6)) {
+ type_ = io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance();
+ }
+ uint64Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.UInt64Rules, io.grpc.xds.shaded.validate.UInt64Rules.Builder, io.grpc.xds.shaded.validate.UInt64RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.UInt64Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 6;
+ onChanged();;
+ return uint64Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SInt32Rules, io.grpc.xds.shaded.validate.SInt32Rules.Builder, io.grpc.xds.shaded.validate.SInt32RulesOrBuilder> sint32Builder_;
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public boolean hasSint32() {
+ return typeCase_ == 7;
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt32Rules getSint32() {
+ if (sint32Builder_ == null) {
+ if (typeCase_ == 7) {
+ return (io.grpc.xds.shaded.validate.SInt32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 7) {
+ return sint32Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public Builder setSint32(io.grpc.xds.shaded.validate.SInt32Rules value) {
+ if (sint32Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ sint32Builder_.setMessage(value);
+ }
+ typeCase_ = 7;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public Builder setSint32(
+ io.grpc.xds.shaded.validate.SInt32Rules.Builder builderForValue) {
+ if (sint32Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ sint32Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 7;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public Builder mergeSint32(io.grpc.xds.shaded.validate.SInt32Rules value) {
+ if (sint32Builder_ == null) {
+ if (typeCase_ == 7 &&
+ type_ != io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.SInt32Rules.newBuilder((io.grpc.xds.shaded.validate.SInt32Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 7) {
+ sint32Builder_.mergeFrom(value);
+ }
+ sint32Builder_.setMessage(value);
+ }
+ typeCase_ = 7;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public Builder clearSint32() {
+ if (sint32Builder_ == null) {
+ if (typeCase_ == 7) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 7) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ sint32Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt32Rules.Builder getSint32Builder() {
+ return getSint32FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt32RulesOrBuilder getSint32OrBuilder() {
+ if ((typeCase_ == 7) && (sint32Builder_ != null)) {
+ return sint32Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 7) {
+ return (io.grpc.xds.shaded.validate.SInt32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SInt32Rules, io.grpc.xds.shaded.validate.SInt32Rules.Builder, io.grpc.xds.shaded.validate.SInt32RulesOrBuilder>
+ getSint32FieldBuilder() {
+ if (sint32Builder_ == null) {
+ if (!(typeCase_ == 7)) {
+ type_ = io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance();
+ }
+ sint32Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SInt32Rules, io.grpc.xds.shaded.validate.SInt32Rules.Builder, io.grpc.xds.shaded.validate.SInt32RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.SInt32Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 7;
+ onChanged();;
+ return sint32Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SInt64Rules, io.grpc.xds.shaded.validate.SInt64Rules.Builder, io.grpc.xds.shaded.validate.SInt64RulesOrBuilder> sint64Builder_;
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public boolean hasSint64() {
+ return typeCase_ == 8;
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt64Rules getSint64() {
+ if (sint64Builder_ == null) {
+ if (typeCase_ == 8) {
+ return (io.grpc.xds.shaded.validate.SInt64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 8) {
+ return sint64Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public Builder setSint64(io.grpc.xds.shaded.validate.SInt64Rules value) {
+ if (sint64Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ sint64Builder_.setMessage(value);
+ }
+ typeCase_ = 8;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public Builder setSint64(
+ io.grpc.xds.shaded.validate.SInt64Rules.Builder builderForValue) {
+ if (sint64Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ sint64Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 8;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public Builder mergeSint64(io.grpc.xds.shaded.validate.SInt64Rules value) {
+ if (sint64Builder_ == null) {
+ if (typeCase_ == 8 &&
+ type_ != io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.SInt64Rules.newBuilder((io.grpc.xds.shaded.validate.SInt64Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 8) {
+ sint64Builder_.mergeFrom(value);
+ }
+ sint64Builder_.setMessage(value);
+ }
+ typeCase_ = 8;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public Builder clearSint64() {
+ if (sint64Builder_ == null) {
+ if (typeCase_ == 8) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 8) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ sint64Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt64Rules.Builder getSint64Builder() {
+ return getSint64FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ public io.grpc.xds.shaded.validate.SInt64RulesOrBuilder getSint64OrBuilder() {
+ if ((typeCase_ == 8) && (sint64Builder_ != null)) {
+ return sint64Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 8) {
+ return (io.grpc.xds.shaded.validate.SInt64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SInt64Rules, io.grpc.xds.shaded.validate.SInt64Rules.Builder, io.grpc.xds.shaded.validate.SInt64RulesOrBuilder>
+ getSint64FieldBuilder() {
+ if (sint64Builder_ == null) {
+ if (!(typeCase_ == 8)) {
+ type_ = io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance();
+ }
+ sint64Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SInt64Rules, io.grpc.xds.shaded.validate.SInt64Rules.Builder, io.grpc.xds.shaded.validate.SInt64RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.SInt64Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 8;
+ onChanged();;
+ return sint64Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Fixed32Rules, io.grpc.xds.shaded.validate.Fixed32Rules.Builder, io.grpc.xds.shaded.validate.Fixed32RulesOrBuilder> fixed32Builder_;
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public boolean hasFixed32() {
+ return typeCase_ == 9;
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed32Rules getFixed32() {
+ if (fixed32Builder_ == null) {
+ if (typeCase_ == 9) {
+ return (io.grpc.xds.shaded.validate.Fixed32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 9) {
+ return fixed32Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public Builder setFixed32(io.grpc.xds.shaded.validate.Fixed32Rules value) {
+ if (fixed32Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ fixed32Builder_.setMessage(value);
+ }
+ typeCase_ = 9;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public Builder setFixed32(
+ io.grpc.xds.shaded.validate.Fixed32Rules.Builder builderForValue) {
+ if (fixed32Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ fixed32Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 9;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public Builder mergeFixed32(io.grpc.xds.shaded.validate.Fixed32Rules value) {
+ if (fixed32Builder_ == null) {
+ if (typeCase_ == 9 &&
+ type_ != io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.Fixed32Rules.newBuilder((io.grpc.xds.shaded.validate.Fixed32Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 9) {
+ fixed32Builder_.mergeFrom(value);
+ }
+ fixed32Builder_.setMessage(value);
+ }
+ typeCase_ = 9;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public Builder clearFixed32() {
+ if (fixed32Builder_ == null) {
+ if (typeCase_ == 9) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 9) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ fixed32Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed32Rules.Builder getFixed32Builder() {
+ return getFixed32FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed32RulesOrBuilder getFixed32OrBuilder() {
+ if ((typeCase_ == 9) && (fixed32Builder_ != null)) {
+ return fixed32Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 9) {
+ return (io.grpc.xds.shaded.validate.Fixed32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Fixed32Rules, io.grpc.xds.shaded.validate.Fixed32Rules.Builder, io.grpc.xds.shaded.validate.Fixed32RulesOrBuilder>
+ getFixed32FieldBuilder() {
+ if (fixed32Builder_ == null) {
+ if (!(typeCase_ == 9)) {
+ type_ = io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance();
+ }
+ fixed32Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Fixed32Rules, io.grpc.xds.shaded.validate.Fixed32Rules.Builder, io.grpc.xds.shaded.validate.Fixed32RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.Fixed32Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 9;
+ onChanged();;
+ return fixed32Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Fixed64Rules, io.grpc.xds.shaded.validate.Fixed64Rules.Builder, io.grpc.xds.shaded.validate.Fixed64RulesOrBuilder> fixed64Builder_;
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public boolean hasFixed64() {
+ return typeCase_ == 10;
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed64Rules getFixed64() {
+ if (fixed64Builder_ == null) {
+ if (typeCase_ == 10) {
+ return (io.grpc.xds.shaded.validate.Fixed64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 10) {
+ return fixed64Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public Builder setFixed64(io.grpc.xds.shaded.validate.Fixed64Rules value) {
+ if (fixed64Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ fixed64Builder_.setMessage(value);
+ }
+ typeCase_ = 10;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public Builder setFixed64(
+ io.grpc.xds.shaded.validate.Fixed64Rules.Builder builderForValue) {
+ if (fixed64Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ fixed64Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 10;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public Builder mergeFixed64(io.grpc.xds.shaded.validate.Fixed64Rules value) {
+ if (fixed64Builder_ == null) {
+ if (typeCase_ == 10 &&
+ type_ != io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.Fixed64Rules.newBuilder((io.grpc.xds.shaded.validate.Fixed64Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 10) {
+ fixed64Builder_.mergeFrom(value);
+ }
+ fixed64Builder_.setMessage(value);
+ }
+ typeCase_ = 10;
+ return this;
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public Builder clearFixed64() {
+ if (fixed64Builder_ == null) {
+ if (typeCase_ == 10) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 10) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ fixed64Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed64Rules.Builder getFixed64Builder() {
+ return getFixed64FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ public io.grpc.xds.shaded.validate.Fixed64RulesOrBuilder getFixed64OrBuilder() {
+ if ((typeCase_ == 10) && (fixed64Builder_ != null)) {
+ return fixed64Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 10) {
+ return (io.grpc.xds.shaded.validate.Fixed64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Fixed64Rules, io.grpc.xds.shaded.validate.Fixed64Rules.Builder, io.grpc.xds.shaded.validate.Fixed64RulesOrBuilder>
+ getFixed64FieldBuilder() {
+ if (fixed64Builder_ == null) {
+ if (!(typeCase_ == 10)) {
+ type_ = io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance();
+ }
+ fixed64Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.Fixed64Rules, io.grpc.xds.shaded.validate.Fixed64Rules.Builder, io.grpc.xds.shaded.validate.Fixed64RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.Fixed64Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 10;
+ onChanged();;
+ return fixed64Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SFixed32Rules, io.grpc.xds.shaded.validate.SFixed32Rules.Builder, io.grpc.xds.shaded.validate.SFixed32RulesOrBuilder> sfixed32Builder_;
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public boolean hasSfixed32() {
+ return typeCase_ == 11;
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed32Rules getSfixed32() {
+ if (sfixed32Builder_ == null) {
+ if (typeCase_ == 11) {
+ return (io.grpc.xds.shaded.validate.SFixed32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 11) {
+ return sfixed32Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public Builder setSfixed32(io.grpc.xds.shaded.validate.SFixed32Rules value) {
+ if (sfixed32Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ sfixed32Builder_.setMessage(value);
+ }
+ typeCase_ = 11;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public Builder setSfixed32(
+ io.grpc.xds.shaded.validate.SFixed32Rules.Builder builderForValue) {
+ if (sfixed32Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ sfixed32Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 11;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public Builder mergeSfixed32(io.grpc.xds.shaded.validate.SFixed32Rules value) {
+ if (sfixed32Builder_ == null) {
+ if (typeCase_ == 11 &&
+ type_ != io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.SFixed32Rules.newBuilder((io.grpc.xds.shaded.validate.SFixed32Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 11) {
+ sfixed32Builder_.mergeFrom(value);
+ }
+ sfixed32Builder_.setMessage(value);
+ }
+ typeCase_ = 11;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public Builder clearSfixed32() {
+ if (sfixed32Builder_ == null) {
+ if (typeCase_ == 11) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 11) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ sfixed32Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed32Rules.Builder getSfixed32Builder() {
+ return getSfixed32FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed32RulesOrBuilder getSfixed32OrBuilder() {
+ if ((typeCase_ == 11) && (sfixed32Builder_ != null)) {
+ return sfixed32Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 11) {
+ return (io.grpc.xds.shaded.validate.SFixed32Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SFixed32Rules, io.grpc.xds.shaded.validate.SFixed32Rules.Builder, io.grpc.xds.shaded.validate.SFixed32RulesOrBuilder>
+ getSfixed32FieldBuilder() {
+ if (sfixed32Builder_ == null) {
+ if (!(typeCase_ == 11)) {
+ type_ = io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance();
+ }
+ sfixed32Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SFixed32Rules, io.grpc.xds.shaded.validate.SFixed32Rules.Builder, io.grpc.xds.shaded.validate.SFixed32RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.SFixed32Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 11;
+ onChanged();;
+ return sfixed32Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SFixed64Rules, io.grpc.xds.shaded.validate.SFixed64Rules.Builder, io.grpc.xds.shaded.validate.SFixed64RulesOrBuilder> sfixed64Builder_;
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public boolean hasSfixed64() {
+ return typeCase_ == 12;
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed64Rules getSfixed64() {
+ if (sfixed64Builder_ == null) {
+ if (typeCase_ == 12) {
+ return (io.grpc.xds.shaded.validate.SFixed64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 12) {
+ return sfixed64Builder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public Builder setSfixed64(io.grpc.xds.shaded.validate.SFixed64Rules value) {
+ if (sfixed64Builder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ sfixed64Builder_.setMessage(value);
+ }
+ typeCase_ = 12;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public Builder setSfixed64(
+ io.grpc.xds.shaded.validate.SFixed64Rules.Builder builderForValue) {
+ if (sfixed64Builder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ sfixed64Builder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 12;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public Builder mergeSfixed64(io.grpc.xds.shaded.validate.SFixed64Rules value) {
+ if (sfixed64Builder_ == null) {
+ if (typeCase_ == 12 &&
+ type_ != io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.SFixed64Rules.newBuilder((io.grpc.xds.shaded.validate.SFixed64Rules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 12) {
+ sfixed64Builder_.mergeFrom(value);
+ }
+ sfixed64Builder_.setMessage(value);
+ }
+ typeCase_ = 12;
+ return this;
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public Builder clearSfixed64() {
+ if (sfixed64Builder_ == null) {
+ if (typeCase_ == 12) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 12) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ sfixed64Builder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed64Rules.Builder getSfixed64Builder() {
+ return getSfixed64FieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ public io.grpc.xds.shaded.validate.SFixed64RulesOrBuilder getSfixed64OrBuilder() {
+ if ((typeCase_ == 12) && (sfixed64Builder_ != null)) {
+ return sfixed64Builder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 12) {
+ return (io.grpc.xds.shaded.validate.SFixed64Rules) type_;
+ }
+ return io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SFixed64Rules, io.grpc.xds.shaded.validate.SFixed64Rules.Builder, io.grpc.xds.shaded.validate.SFixed64RulesOrBuilder>
+ getSfixed64FieldBuilder() {
+ if (sfixed64Builder_ == null) {
+ if (!(typeCase_ == 12)) {
+ type_ = io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance();
+ }
+ sfixed64Builder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.SFixed64Rules, io.grpc.xds.shaded.validate.SFixed64Rules.Builder, io.grpc.xds.shaded.validate.SFixed64RulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.SFixed64Rules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 12;
+ onChanged();;
+ return sfixed64Builder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.BoolRules, io.grpc.xds.shaded.validate.BoolRules.Builder, io.grpc.xds.shaded.validate.BoolRulesOrBuilder> boolBuilder_;
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public boolean hasBool() {
+ return typeCase_ == 13;
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public io.grpc.xds.shaded.validate.BoolRules getBool() {
+ if (boolBuilder_ == null) {
+ if (typeCase_ == 13) {
+ return (io.grpc.xds.shaded.validate.BoolRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 13) {
+ return boolBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public Builder setBool(io.grpc.xds.shaded.validate.BoolRules value) {
+ if (boolBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ boolBuilder_.setMessage(value);
+ }
+ typeCase_ = 13;
+ return this;
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public Builder setBool(
+ io.grpc.xds.shaded.validate.BoolRules.Builder builderForValue) {
+ if (boolBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ boolBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 13;
+ return this;
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public Builder mergeBool(io.grpc.xds.shaded.validate.BoolRules value) {
+ if (boolBuilder_ == null) {
+ if (typeCase_ == 13 &&
+ type_ != io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.BoolRules.newBuilder((io.grpc.xds.shaded.validate.BoolRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 13) {
+ boolBuilder_.mergeFrom(value);
+ }
+ boolBuilder_.setMessage(value);
+ }
+ typeCase_ = 13;
+ return this;
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public Builder clearBool() {
+ if (boolBuilder_ == null) {
+ if (typeCase_ == 13) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 13) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ boolBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public io.grpc.xds.shaded.validate.BoolRules.Builder getBoolBuilder() {
+ return getBoolFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ public io.grpc.xds.shaded.validate.BoolRulesOrBuilder getBoolOrBuilder() {
+ if ((typeCase_ == 13) && (boolBuilder_ != null)) {
+ return boolBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 13) {
+ return (io.grpc.xds.shaded.validate.BoolRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.BoolRules, io.grpc.xds.shaded.validate.BoolRules.Builder, io.grpc.xds.shaded.validate.BoolRulesOrBuilder>
+ getBoolFieldBuilder() {
+ if (boolBuilder_ == null) {
+ if (!(typeCase_ == 13)) {
+ type_ = io.grpc.xds.shaded.validate.BoolRules.getDefaultInstance();
+ }
+ boolBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.BoolRules, io.grpc.xds.shaded.validate.BoolRules.Builder, io.grpc.xds.shaded.validate.BoolRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.BoolRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 13;
+ onChanged();;
+ return boolBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.StringRules, io.grpc.xds.shaded.validate.StringRules.Builder, io.grpc.xds.shaded.validate.StringRulesOrBuilder> stringBuilder_;
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public boolean hasString() {
+ return typeCase_ == 14;
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public io.grpc.xds.shaded.validate.StringRules getString() {
+ if (stringBuilder_ == null) {
+ if (typeCase_ == 14) {
+ return (io.grpc.xds.shaded.validate.StringRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.StringRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 14) {
+ return stringBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.StringRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public Builder setString(io.grpc.xds.shaded.validate.StringRules value) {
+ if (stringBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ stringBuilder_.setMessage(value);
+ }
+ typeCase_ = 14;
+ return this;
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public Builder setString(
+ io.grpc.xds.shaded.validate.StringRules.Builder builderForValue) {
+ if (stringBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ stringBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 14;
+ return this;
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public Builder mergeString(io.grpc.xds.shaded.validate.StringRules value) {
+ if (stringBuilder_ == null) {
+ if (typeCase_ == 14 &&
+ type_ != io.grpc.xds.shaded.validate.StringRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.StringRules.newBuilder((io.grpc.xds.shaded.validate.StringRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 14) {
+ stringBuilder_.mergeFrom(value);
+ }
+ stringBuilder_.setMessage(value);
+ }
+ typeCase_ = 14;
+ return this;
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public Builder clearString() {
+ if (stringBuilder_ == null) {
+ if (typeCase_ == 14) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 14) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ stringBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public io.grpc.xds.shaded.validate.StringRules.Builder getStringBuilder() {
+ return getStringFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ public io.grpc.xds.shaded.validate.StringRulesOrBuilder getStringOrBuilder() {
+ if ((typeCase_ == 14) && (stringBuilder_ != null)) {
+ return stringBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 14) {
+ return (io.grpc.xds.shaded.validate.StringRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.StringRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.StringRules, io.grpc.xds.shaded.validate.StringRules.Builder, io.grpc.xds.shaded.validate.StringRulesOrBuilder>
+ getStringFieldBuilder() {
+ if (stringBuilder_ == null) {
+ if (!(typeCase_ == 14)) {
+ type_ = io.grpc.xds.shaded.validate.StringRules.getDefaultInstance();
+ }
+ stringBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.StringRules, io.grpc.xds.shaded.validate.StringRules.Builder, io.grpc.xds.shaded.validate.StringRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.StringRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 14;
+ onChanged();;
+ return stringBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.BytesRules, io.grpc.xds.shaded.validate.BytesRules.Builder, io.grpc.xds.shaded.validate.BytesRulesOrBuilder> bytesBuilder_;
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public boolean hasBytes() {
+ return typeCase_ == 15;
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public io.grpc.xds.shaded.validate.BytesRules getBytes() {
+ if (bytesBuilder_ == null) {
+ if (typeCase_ == 15) {
+ return (io.grpc.xds.shaded.validate.BytesRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 15) {
+ return bytesBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public Builder setBytes(io.grpc.xds.shaded.validate.BytesRules value) {
+ if (bytesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ bytesBuilder_.setMessage(value);
+ }
+ typeCase_ = 15;
+ return this;
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public Builder setBytes(
+ io.grpc.xds.shaded.validate.BytesRules.Builder builderForValue) {
+ if (bytesBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ bytesBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 15;
+ return this;
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public Builder mergeBytes(io.grpc.xds.shaded.validate.BytesRules value) {
+ if (bytesBuilder_ == null) {
+ if (typeCase_ == 15 &&
+ type_ != io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.BytesRules.newBuilder((io.grpc.xds.shaded.validate.BytesRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 15) {
+ bytesBuilder_.mergeFrom(value);
+ }
+ bytesBuilder_.setMessage(value);
+ }
+ typeCase_ = 15;
+ return this;
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public Builder clearBytes() {
+ if (bytesBuilder_ == null) {
+ if (typeCase_ == 15) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 15) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ bytesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public io.grpc.xds.shaded.validate.BytesRules.Builder getBytesBuilder() {
+ return getBytesFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ public io.grpc.xds.shaded.validate.BytesRulesOrBuilder getBytesOrBuilder() {
+ if ((typeCase_ == 15) && (bytesBuilder_ != null)) {
+ return bytesBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 15) {
+ return (io.grpc.xds.shaded.validate.BytesRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.BytesRules, io.grpc.xds.shaded.validate.BytesRules.Builder, io.grpc.xds.shaded.validate.BytesRulesOrBuilder>
+ getBytesFieldBuilder() {
+ if (bytesBuilder_ == null) {
+ if (!(typeCase_ == 15)) {
+ type_ = io.grpc.xds.shaded.validate.BytesRules.getDefaultInstance();
+ }
+ bytesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.BytesRules, io.grpc.xds.shaded.validate.BytesRules.Builder, io.grpc.xds.shaded.validate.BytesRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.BytesRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 15;
+ onChanged();;
+ return bytesBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.EnumRules, io.grpc.xds.shaded.validate.EnumRules.Builder, io.grpc.xds.shaded.validate.EnumRulesOrBuilder> enumBuilder_;
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public boolean hasEnum() {
+ return typeCase_ == 16;
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public io.grpc.xds.shaded.validate.EnumRules getEnum() {
+ if (enumBuilder_ == null) {
+ if (typeCase_ == 16) {
+ return (io.grpc.xds.shaded.validate.EnumRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 16) {
+ return enumBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public Builder setEnum(io.grpc.xds.shaded.validate.EnumRules value) {
+ if (enumBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ enumBuilder_.setMessage(value);
+ }
+ typeCase_ = 16;
+ return this;
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public Builder setEnum(
+ io.grpc.xds.shaded.validate.EnumRules.Builder builderForValue) {
+ if (enumBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ enumBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 16;
+ return this;
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public Builder mergeEnum(io.grpc.xds.shaded.validate.EnumRules value) {
+ if (enumBuilder_ == null) {
+ if (typeCase_ == 16 &&
+ type_ != io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.EnumRules.newBuilder((io.grpc.xds.shaded.validate.EnumRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 16) {
+ enumBuilder_.mergeFrom(value);
+ }
+ enumBuilder_.setMessage(value);
+ }
+ typeCase_ = 16;
+ return this;
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public Builder clearEnum() {
+ if (enumBuilder_ == null) {
+ if (typeCase_ == 16) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 16) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ enumBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public io.grpc.xds.shaded.validate.EnumRules.Builder getEnumBuilder() {
+ return getEnumFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ public io.grpc.xds.shaded.validate.EnumRulesOrBuilder getEnumOrBuilder() {
+ if ((typeCase_ == 16) && (enumBuilder_ != null)) {
+ return enumBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 16) {
+ return (io.grpc.xds.shaded.validate.EnumRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.EnumRules, io.grpc.xds.shaded.validate.EnumRules.Builder, io.grpc.xds.shaded.validate.EnumRulesOrBuilder>
+ getEnumFieldBuilder() {
+ if (enumBuilder_ == null) {
+ if (!(typeCase_ == 16)) {
+ type_ = io.grpc.xds.shaded.validate.EnumRules.getDefaultInstance();
+ }
+ enumBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.EnumRules, io.grpc.xds.shaded.validate.EnumRules.Builder, io.grpc.xds.shaded.validate.EnumRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.EnumRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 16;
+ onChanged();;
+ return enumBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.MessageRules, io.grpc.xds.shaded.validate.MessageRules.Builder, io.grpc.xds.shaded.validate.MessageRulesOrBuilder> messageBuilder_;
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public boolean hasMessage() {
+ return typeCase_ == 17;
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public io.grpc.xds.shaded.validate.MessageRules getMessage() {
+ if (messageBuilder_ == null) {
+ if (typeCase_ == 17) {
+ return (io.grpc.xds.shaded.validate.MessageRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 17) {
+ return messageBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public Builder setMessage(io.grpc.xds.shaded.validate.MessageRules value) {
+ if (messageBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ messageBuilder_.setMessage(value);
+ }
+ typeCase_ = 17;
+ return this;
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public Builder setMessage(
+ io.grpc.xds.shaded.validate.MessageRules.Builder builderForValue) {
+ if (messageBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ messageBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 17;
+ return this;
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public Builder mergeMessage(io.grpc.xds.shaded.validate.MessageRules value) {
+ if (messageBuilder_ == null) {
+ if (typeCase_ == 17 &&
+ type_ != io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.MessageRules.newBuilder((io.grpc.xds.shaded.validate.MessageRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 17) {
+ messageBuilder_.mergeFrom(value);
+ }
+ messageBuilder_.setMessage(value);
+ }
+ typeCase_ = 17;
+ return this;
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public Builder clearMessage() {
+ if (messageBuilder_ == null) {
+ if (typeCase_ == 17) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 17) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ messageBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public io.grpc.xds.shaded.validate.MessageRules.Builder getMessageBuilder() {
+ return getMessageFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ public io.grpc.xds.shaded.validate.MessageRulesOrBuilder getMessageOrBuilder() {
+ if ((typeCase_ == 17) && (messageBuilder_ != null)) {
+ return messageBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 17) {
+ return (io.grpc.xds.shaded.validate.MessageRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.MessageRules, io.grpc.xds.shaded.validate.MessageRules.Builder, io.grpc.xds.shaded.validate.MessageRulesOrBuilder>
+ getMessageFieldBuilder() {
+ if (messageBuilder_ == null) {
+ if (!(typeCase_ == 17)) {
+ type_ = io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance();
+ }
+ messageBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.MessageRules, io.grpc.xds.shaded.validate.MessageRules.Builder, io.grpc.xds.shaded.validate.MessageRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.MessageRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 17;
+ onChanged();;
+ return messageBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.RepeatedRules, io.grpc.xds.shaded.validate.RepeatedRules.Builder, io.grpc.xds.shaded.validate.RepeatedRulesOrBuilder> repeatedBuilder_;
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public boolean hasRepeated() {
+ return typeCase_ == 18;
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public io.grpc.xds.shaded.validate.RepeatedRules getRepeated() {
+ if (repeatedBuilder_ == null) {
+ if (typeCase_ == 18) {
+ return (io.grpc.xds.shaded.validate.RepeatedRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 18) {
+ return repeatedBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public Builder setRepeated(io.grpc.xds.shaded.validate.RepeatedRules value) {
+ if (repeatedBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ repeatedBuilder_.setMessage(value);
+ }
+ typeCase_ = 18;
+ return this;
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public Builder setRepeated(
+ io.grpc.xds.shaded.validate.RepeatedRules.Builder builderForValue) {
+ if (repeatedBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ repeatedBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 18;
+ return this;
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public Builder mergeRepeated(io.grpc.xds.shaded.validate.RepeatedRules value) {
+ if (repeatedBuilder_ == null) {
+ if (typeCase_ == 18 &&
+ type_ != io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.RepeatedRules.newBuilder((io.grpc.xds.shaded.validate.RepeatedRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 18) {
+ repeatedBuilder_.mergeFrom(value);
+ }
+ repeatedBuilder_.setMessage(value);
+ }
+ typeCase_ = 18;
+ return this;
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public Builder clearRepeated() {
+ if (repeatedBuilder_ == null) {
+ if (typeCase_ == 18) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 18) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ repeatedBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public io.grpc.xds.shaded.validate.RepeatedRules.Builder getRepeatedBuilder() {
+ return getRepeatedFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ public io.grpc.xds.shaded.validate.RepeatedRulesOrBuilder getRepeatedOrBuilder() {
+ if ((typeCase_ == 18) && (repeatedBuilder_ != null)) {
+ return repeatedBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 18) {
+ return (io.grpc.xds.shaded.validate.RepeatedRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.RepeatedRules, io.grpc.xds.shaded.validate.RepeatedRules.Builder, io.grpc.xds.shaded.validate.RepeatedRulesOrBuilder>
+ getRepeatedFieldBuilder() {
+ if (repeatedBuilder_ == null) {
+ if (!(typeCase_ == 18)) {
+ type_ = io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance();
+ }
+ repeatedBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.RepeatedRules, io.grpc.xds.shaded.validate.RepeatedRules.Builder, io.grpc.xds.shaded.validate.RepeatedRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.RepeatedRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 18;
+ onChanged();;
+ return repeatedBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.MapRules, io.grpc.xds.shaded.validate.MapRules.Builder, io.grpc.xds.shaded.validate.MapRulesOrBuilder> mapBuilder_;
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public boolean hasMap() {
+ return typeCase_ == 19;
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public io.grpc.xds.shaded.validate.MapRules getMap() {
+ if (mapBuilder_ == null) {
+ if (typeCase_ == 19) {
+ return (io.grpc.xds.shaded.validate.MapRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.MapRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 19) {
+ return mapBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.MapRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public Builder setMap(io.grpc.xds.shaded.validate.MapRules value) {
+ if (mapBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ mapBuilder_.setMessage(value);
+ }
+ typeCase_ = 19;
+ return this;
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public Builder setMap(
+ io.grpc.xds.shaded.validate.MapRules.Builder builderForValue) {
+ if (mapBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ mapBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 19;
+ return this;
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public Builder mergeMap(io.grpc.xds.shaded.validate.MapRules value) {
+ if (mapBuilder_ == null) {
+ if (typeCase_ == 19 &&
+ type_ != io.grpc.xds.shaded.validate.MapRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.MapRules.newBuilder((io.grpc.xds.shaded.validate.MapRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 19) {
+ mapBuilder_.mergeFrom(value);
+ }
+ mapBuilder_.setMessage(value);
+ }
+ typeCase_ = 19;
+ return this;
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public Builder clearMap() {
+ if (mapBuilder_ == null) {
+ if (typeCase_ == 19) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 19) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ mapBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public io.grpc.xds.shaded.validate.MapRules.Builder getMapBuilder() {
+ return getMapFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ public io.grpc.xds.shaded.validate.MapRulesOrBuilder getMapOrBuilder() {
+ if ((typeCase_ == 19) && (mapBuilder_ != null)) {
+ return mapBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 19) {
+ return (io.grpc.xds.shaded.validate.MapRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.MapRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.MapRules, io.grpc.xds.shaded.validate.MapRules.Builder, io.grpc.xds.shaded.validate.MapRulesOrBuilder>
+ getMapFieldBuilder() {
+ if (mapBuilder_ == null) {
+ if (!(typeCase_ == 19)) {
+ type_ = io.grpc.xds.shaded.validate.MapRules.getDefaultInstance();
+ }
+ mapBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.MapRules, io.grpc.xds.shaded.validate.MapRules.Builder, io.grpc.xds.shaded.validate.MapRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.MapRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 19;
+ onChanged();;
+ return mapBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.AnyRules, io.grpc.xds.shaded.validate.AnyRules.Builder, io.grpc.xds.shaded.validate.AnyRulesOrBuilder> anyBuilder_;
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public boolean hasAny() {
+ return typeCase_ == 20;
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public io.grpc.xds.shaded.validate.AnyRules getAny() {
+ if (anyBuilder_ == null) {
+ if (typeCase_ == 20) {
+ return (io.grpc.xds.shaded.validate.AnyRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 20) {
+ return anyBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public Builder setAny(io.grpc.xds.shaded.validate.AnyRules value) {
+ if (anyBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ anyBuilder_.setMessage(value);
+ }
+ typeCase_ = 20;
+ return this;
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public Builder setAny(
+ io.grpc.xds.shaded.validate.AnyRules.Builder builderForValue) {
+ if (anyBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ anyBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 20;
+ return this;
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public Builder mergeAny(io.grpc.xds.shaded.validate.AnyRules value) {
+ if (anyBuilder_ == null) {
+ if (typeCase_ == 20 &&
+ type_ != io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.AnyRules.newBuilder((io.grpc.xds.shaded.validate.AnyRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 20) {
+ anyBuilder_.mergeFrom(value);
+ }
+ anyBuilder_.setMessage(value);
+ }
+ typeCase_ = 20;
+ return this;
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public Builder clearAny() {
+ if (anyBuilder_ == null) {
+ if (typeCase_ == 20) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 20) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ anyBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public io.grpc.xds.shaded.validate.AnyRules.Builder getAnyBuilder() {
+ return getAnyFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ public io.grpc.xds.shaded.validate.AnyRulesOrBuilder getAnyOrBuilder() {
+ if ((typeCase_ == 20) && (anyBuilder_ != null)) {
+ return anyBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 20) {
+ return (io.grpc.xds.shaded.validate.AnyRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.AnyRules, io.grpc.xds.shaded.validate.AnyRules.Builder, io.grpc.xds.shaded.validate.AnyRulesOrBuilder>
+ getAnyFieldBuilder() {
+ if (anyBuilder_ == null) {
+ if (!(typeCase_ == 20)) {
+ type_ = io.grpc.xds.shaded.validate.AnyRules.getDefaultInstance();
+ }
+ anyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.AnyRules, io.grpc.xds.shaded.validate.AnyRules.Builder, io.grpc.xds.shaded.validate.AnyRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.AnyRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 20;
+ onChanged();;
+ return anyBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.DurationRules, io.grpc.xds.shaded.validate.DurationRules.Builder, io.grpc.xds.shaded.validate.DurationRulesOrBuilder> durationBuilder_;
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public boolean hasDuration() {
+ return typeCase_ == 21;
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public io.grpc.xds.shaded.validate.DurationRules getDuration() {
+ if (durationBuilder_ == null) {
+ if (typeCase_ == 21) {
+ return (io.grpc.xds.shaded.validate.DurationRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 21) {
+ return durationBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public Builder setDuration(io.grpc.xds.shaded.validate.DurationRules value) {
+ if (durationBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ durationBuilder_.setMessage(value);
+ }
+ typeCase_ = 21;
+ return this;
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public Builder setDuration(
+ io.grpc.xds.shaded.validate.DurationRules.Builder builderForValue) {
+ if (durationBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ durationBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 21;
+ return this;
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public Builder mergeDuration(io.grpc.xds.shaded.validate.DurationRules value) {
+ if (durationBuilder_ == null) {
+ if (typeCase_ == 21 &&
+ type_ != io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.DurationRules.newBuilder((io.grpc.xds.shaded.validate.DurationRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 21) {
+ durationBuilder_.mergeFrom(value);
+ }
+ durationBuilder_.setMessage(value);
+ }
+ typeCase_ = 21;
+ return this;
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public Builder clearDuration() {
+ if (durationBuilder_ == null) {
+ if (typeCase_ == 21) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 21) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ durationBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public io.grpc.xds.shaded.validate.DurationRules.Builder getDurationBuilder() {
+ return getDurationFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ public io.grpc.xds.shaded.validate.DurationRulesOrBuilder getDurationOrBuilder() {
+ if ((typeCase_ == 21) && (durationBuilder_ != null)) {
+ return durationBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 21) {
+ return (io.grpc.xds.shaded.validate.DurationRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.DurationRules, io.grpc.xds.shaded.validate.DurationRules.Builder, io.grpc.xds.shaded.validate.DurationRulesOrBuilder>
+ getDurationFieldBuilder() {
+ if (durationBuilder_ == null) {
+ if (!(typeCase_ == 21)) {
+ type_ = io.grpc.xds.shaded.validate.DurationRules.getDefaultInstance();
+ }
+ durationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.DurationRules, io.grpc.xds.shaded.validate.DurationRules.Builder, io.grpc.xds.shaded.validate.DurationRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.DurationRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 21;
+ onChanged();;
+ return durationBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.TimestampRules, io.grpc.xds.shaded.validate.TimestampRules.Builder, io.grpc.xds.shaded.validate.TimestampRulesOrBuilder> timestampBuilder_;
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public boolean hasTimestamp() {
+ return typeCase_ == 22;
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public io.grpc.xds.shaded.validate.TimestampRules getTimestamp() {
+ if (timestampBuilder_ == null) {
+ if (typeCase_ == 22) {
+ return (io.grpc.xds.shaded.validate.TimestampRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance();
+ } else {
+ if (typeCase_ == 22) {
+ return timestampBuilder_.getMessage();
+ }
+ return io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public Builder setTimestamp(io.grpc.xds.shaded.validate.TimestampRules value) {
+ if (timestampBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ type_ = value;
+ onChanged();
+ } else {
+ timestampBuilder_.setMessage(value);
+ }
+ typeCase_ = 22;
+ return this;
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public Builder setTimestamp(
+ io.grpc.xds.shaded.validate.TimestampRules.Builder builderForValue) {
+ if (timestampBuilder_ == null) {
+ type_ = builderForValue.build();
+ onChanged();
+ } else {
+ timestampBuilder_.setMessage(builderForValue.build());
+ }
+ typeCase_ = 22;
+ return this;
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public Builder mergeTimestamp(io.grpc.xds.shaded.validate.TimestampRules value) {
+ if (timestampBuilder_ == null) {
+ if (typeCase_ == 22 &&
+ type_ != io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance()) {
+ type_ = io.grpc.xds.shaded.validate.TimestampRules.newBuilder((io.grpc.xds.shaded.validate.TimestampRules) type_)
+ .mergeFrom(value).buildPartial();
+ } else {
+ type_ = value;
+ }
+ onChanged();
+ } else {
+ if (typeCase_ == 22) {
+ timestampBuilder_.mergeFrom(value);
+ }
+ timestampBuilder_.setMessage(value);
+ }
+ typeCase_ = 22;
+ return this;
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public Builder clearTimestamp() {
+ if (timestampBuilder_ == null) {
+ if (typeCase_ == 22) {
+ typeCase_ = 0;
+ type_ = null;
+ onChanged();
+ }
+ } else {
+ if (typeCase_ == 22) {
+ typeCase_ = 0;
+ type_ = null;
+ }
+ timestampBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public io.grpc.xds.shaded.validate.TimestampRules.Builder getTimestampBuilder() {
+ return getTimestampFieldBuilder().getBuilder();
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ public io.grpc.xds.shaded.validate.TimestampRulesOrBuilder getTimestampOrBuilder() {
+ if ((typeCase_ == 22) && (timestampBuilder_ != null)) {
+ return timestampBuilder_.getMessageOrBuilder();
+ } else {
+ if (typeCase_ == 22) {
+ return (io.grpc.xds.shaded.validate.TimestampRules) type_;
+ }
+ return io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance();
+ }
+ }
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.TimestampRules, io.grpc.xds.shaded.validate.TimestampRules.Builder, io.grpc.xds.shaded.validate.TimestampRulesOrBuilder>
+ getTimestampFieldBuilder() {
+ if (timestampBuilder_ == null) {
+ if (!(typeCase_ == 22)) {
+ type_ = io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance();
+ }
+ timestampBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.TimestampRules, io.grpc.xds.shaded.validate.TimestampRules.Builder, io.grpc.xds.shaded.validate.TimestampRulesOrBuilder>(
+ (io.grpc.xds.shaded.validate.TimestampRules) type_,
+ getParentForChildren(),
+ isClean());
+ type_ = null;
+ }
+ typeCase_ = 22;
+ onChanged();;
+ return timestampBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.FieldRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.FieldRules)
+ private static final io.grpc.xds.shaded.validate.FieldRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.FieldRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.FieldRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<FieldRules>
+ PARSER = new com.google.protobuf.AbstractParser<FieldRules>() {
+ public FieldRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new FieldRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<FieldRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<FieldRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.FieldRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FieldRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FieldRulesOrBuilder.java
new file mode 100644
index 000000000..caf9efce2
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FieldRulesOrBuilder.java
@@ -0,0 +1,333 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface FieldRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.FieldRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ boolean hasFloat();
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ io.grpc.xds.shaded.validate.FloatRules getFloat();
+ /**
+ * <pre>
+ * Scalar Field Types
+ * </pre>
+ *
+ * <code>optional .validate.FloatRules float = 1;</code>
+ */
+ io.grpc.xds.shaded.validate.FloatRulesOrBuilder getFloatOrBuilder();
+
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ boolean hasDouble();
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ io.grpc.xds.shaded.validate.DoubleRules getDouble();
+ /**
+ * <code>optional .validate.DoubleRules double = 2;</code>
+ */
+ io.grpc.xds.shaded.validate.DoubleRulesOrBuilder getDoubleOrBuilder();
+
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ boolean hasInt32();
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ io.grpc.xds.shaded.validate.Int32Rules getInt32();
+ /**
+ * <code>optional .validate.Int32Rules int32 = 3;</code>
+ */
+ io.grpc.xds.shaded.validate.Int32RulesOrBuilder getInt32OrBuilder();
+
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ boolean hasInt64();
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ io.grpc.xds.shaded.validate.Int64Rules getInt64();
+ /**
+ * <code>optional .validate.Int64Rules int64 = 4;</code>
+ */
+ io.grpc.xds.shaded.validate.Int64RulesOrBuilder getInt64OrBuilder();
+
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ boolean hasUint32();
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ io.grpc.xds.shaded.validate.UInt32Rules getUint32();
+ /**
+ * <code>optional .validate.UInt32Rules uint32 = 5;</code>
+ */
+ io.grpc.xds.shaded.validate.UInt32RulesOrBuilder getUint32OrBuilder();
+
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ boolean hasUint64();
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ io.grpc.xds.shaded.validate.UInt64Rules getUint64();
+ /**
+ * <code>optional .validate.UInt64Rules uint64 = 6;</code>
+ */
+ io.grpc.xds.shaded.validate.UInt64RulesOrBuilder getUint64OrBuilder();
+
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ boolean hasSint32();
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ io.grpc.xds.shaded.validate.SInt32Rules getSint32();
+ /**
+ * <code>optional .validate.SInt32Rules sint32 = 7;</code>
+ */
+ io.grpc.xds.shaded.validate.SInt32RulesOrBuilder getSint32OrBuilder();
+
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ boolean hasSint64();
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ io.grpc.xds.shaded.validate.SInt64Rules getSint64();
+ /**
+ * <code>optional .validate.SInt64Rules sint64 = 8;</code>
+ */
+ io.grpc.xds.shaded.validate.SInt64RulesOrBuilder getSint64OrBuilder();
+
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ boolean hasFixed32();
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ io.grpc.xds.shaded.validate.Fixed32Rules getFixed32();
+ /**
+ * <code>optional .validate.Fixed32Rules fixed32 = 9;</code>
+ */
+ io.grpc.xds.shaded.validate.Fixed32RulesOrBuilder getFixed32OrBuilder();
+
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ boolean hasFixed64();
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ io.grpc.xds.shaded.validate.Fixed64Rules getFixed64();
+ /**
+ * <code>optional .validate.Fixed64Rules fixed64 = 10;</code>
+ */
+ io.grpc.xds.shaded.validate.Fixed64RulesOrBuilder getFixed64OrBuilder();
+
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ boolean hasSfixed32();
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ io.grpc.xds.shaded.validate.SFixed32Rules getSfixed32();
+ /**
+ * <code>optional .validate.SFixed32Rules sfixed32 = 11;</code>
+ */
+ io.grpc.xds.shaded.validate.SFixed32RulesOrBuilder getSfixed32OrBuilder();
+
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ boolean hasSfixed64();
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ io.grpc.xds.shaded.validate.SFixed64Rules getSfixed64();
+ /**
+ * <code>optional .validate.SFixed64Rules sfixed64 = 12;</code>
+ */
+ io.grpc.xds.shaded.validate.SFixed64RulesOrBuilder getSfixed64OrBuilder();
+
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ boolean hasBool();
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ io.grpc.xds.shaded.validate.BoolRules getBool();
+ /**
+ * <code>optional .validate.BoolRules bool = 13;</code>
+ */
+ io.grpc.xds.shaded.validate.BoolRulesOrBuilder getBoolOrBuilder();
+
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ boolean hasString();
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ io.grpc.xds.shaded.validate.StringRules getString();
+ /**
+ * <code>optional .validate.StringRules string = 14;</code>
+ */
+ io.grpc.xds.shaded.validate.StringRulesOrBuilder getStringOrBuilder();
+
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ boolean hasBytes();
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ io.grpc.xds.shaded.validate.BytesRules getBytes();
+ /**
+ * <code>optional .validate.BytesRules bytes = 15;</code>
+ */
+ io.grpc.xds.shaded.validate.BytesRulesOrBuilder getBytesOrBuilder();
+
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ boolean hasEnum();
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ io.grpc.xds.shaded.validate.EnumRules getEnum();
+ /**
+ * <pre>
+ * Complex Field Types
+ * </pre>
+ *
+ * <code>optional .validate.EnumRules enum = 16;</code>
+ */
+ io.grpc.xds.shaded.validate.EnumRulesOrBuilder getEnumOrBuilder();
+
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ boolean hasMessage();
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ io.grpc.xds.shaded.validate.MessageRules getMessage();
+ /**
+ * <code>optional .validate.MessageRules message = 17;</code>
+ */
+ io.grpc.xds.shaded.validate.MessageRulesOrBuilder getMessageOrBuilder();
+
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ boolean hasRepeated();
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ io.grpc.xds.shaded.validate.RepeatedRules getRepeated();
+ /**
+ * <code>optional .validate.RepeatedRules repeated = 18;</code>
+ */
+ io.grpc.xds.shaded.validate.RepeatedRulesOrBuilder getRepeatedOrBuilder();
+
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ boolean hasMap();
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ io.grpc.xds.shaded.validate.MapRules getMap();
+ /**
+ * <code>optional .validate.MapRules map = 19;</code>
+ */
+ io.grpc.xds.shaded.validate.MapRulesOrBuilder getMapOrBuilder();
+
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ boolean hasAny();
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ io.grpc.xds.shaded.validate.AnyRules getAny();
+ /**
+ * <pre>
+ * Well-Known Field Types
+ * </pre>
+ *
+ * <code>optional .validate.AnyRules any = 20;</code>
+ */
+ io.grpc.xds.shaded.validate.AnyRulesOrBuilder getAnyOrBuilder();
+
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ boolean hasDuration();
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ io.grpc.xds.shaded.validate.DurationRules getDuration();
+ /**
+ * <code>optional .validate.DurationRules duration = 21;</code>
+ */
+ io.grpc.xds.shaded.validate.DurationRulesOrBuilder getDurationOrBuilder();
+
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ boolean hasTimestamp();
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ io.grpc.xds.shaded.validate.TimestampRules getTimestamp();
+ /**
+ * <code>optional .validate.TimestampRules timestamp = 22;</code>
+ */
+ io.grpc.xds.shaded.validate.TimestampRulesOrBuilder getTimestampOrBuilder();
+
+ public io.grpc.xds.shaded.validate.FieldRules.TypeCase getTypeCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed32Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed32Rules.java
new file mode 100644
index 000000000..bcf22318f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed32Rules.java
@@ -0,0 +1,1338 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * Fixed32Rules describes the constraints applied to `fixed32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.Fixed32Rules}
+ */
+public final class Fixed32Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.Fixed32Rules)
+ Fixed32RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Fixed32Rules.newBuilder() to construct.
+ private Fixed32Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Fixed32Rules() {
+ const_ = 0;
+ lt_ = 0;
+ lte_ = 0;
+ gt_ = 0;
+ gte_ = 0;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Fixed32Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 13: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readFixed32();
+ break;
+ }
+ case 21: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readFixed32();
+ break;
+ }
+ case 29: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readFixed32();
+ break;
+ }
+ case 37: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readFixed32();
+ break;
+ }
+ case 45: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readFixed32();
+ break;
+ }
+ case 53: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readFixed32());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readFixed32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 61: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readFixed32());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readFixed32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.Fixed32Rules.class, io.grpc.xds.shaded.validate.Fixed32Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private int const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private int lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private int lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private int gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private int gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Integer> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Integer> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeFixed32(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeFixed32(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeFixed32(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeFixed32(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeFixed32(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeFixed32(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeFixed32(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed32Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed32Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed32Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed32Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed32Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ dataSize = 4 * getInList().size();
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ dataSize = 4 * getNotInList().size();
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.Fixed32Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.Fixed32Rules other = (io.grpc.xds.shaded.validate.Fixed32Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst();
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + getLt();
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + getLte();
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + getGt();
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + getGte();
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.Fixed32Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Fixed32Rules describes the constraints applied to `fixed32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.Fixed32Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.Fixed32Rules)
+ io.grpc.xds.shaded.validate.Fixed32RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.Fixed32Rules.class, io.grpc.xds.shaded.validate.Fixed32Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.Fixed32Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed32Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.Fixed32Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.Fixed32Rules build() {
+ io.grpc.xds.shaded.validate.Fixed32Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.Fixed32Rules buildPartial() {
+ io.grpc.xds.shaded.validate.Fixed32Rules result = new io.grpc.xds.shaded.validate.Fixed32Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.Fixed32Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.Fixed32Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.Fixed32Rules other) {
+ if (other == io.grpc.xds.shaded.validate.Fixed32Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.Fixed32Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.Fixed32Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed32 const = 1;</code>
+ */
+ public Builder setConst(int value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed32 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lt = 2;</code>
+ */
+ public Builder setLt(int value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lte = 3;</code>
+ */
+ public Builder setLte(int value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gt = 4;</code>
+ */
+ public Builder setGt(int value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gte = 5;</code>
+ */
+ public Builder setGte(int value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, int value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public Builder addIn(int value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, int value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public Builder addNotIn(int value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.Fixed32Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.Fixed32Rules)
+ private static final io.grpc.xds.shaded.validate.Fixed32Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.Fixed32Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.Fixed32Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<Fixed32Rules>
+ PARSER = new com.google.protobuf.AbstractParser<Fixed32Rules>() {
+ public Fixed32Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Fixed32Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Fixed32Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Fixed32Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.Fixed32Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed32RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed32RulesOrBuilder.java
new file mode 100644
index 000000000..8e0e5dd16
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed32RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface Fixed32RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.Fixed32Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed32 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed32 const = 1;</code>
+ */
+ int getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lt = 2;</code>
+ */
+ int getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed32 lte = 3;</code>
+ */
+ int getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gt = 4;</code>
+ */
+ int getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed32 gte = 5;</code>
+ */
+ int getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ java.util.List<java.lang.Integer> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 in = 6;</code>
+ */
+ int getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Integer> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed32 not_in = 7;</code>
+ */
+ int getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed64Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed64Rules.java
new file mode 100644
index 000000000..ad799984f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed64Rules.java
@@ -0,0 +1,1343 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * Fixed64Rules describes the constraints applied to `fixed64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.Fixed64Rules}
+ */
+public final class Fixed64Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.Fixed64Rules)
+ Fixed64RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Fixed64Rules.newBuilder() to construct.
+ private Fixed64Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Fixed64Rules() {
+ const_ = 0L;
+ lt_ = 0L;
+ lte_ = 0L;
+ gt_ = 0L;
+ gte_ = 0L;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Fixed64Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 9: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readFixed64();
+ break;
+ }
+ case 17: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readFixed64();
+ break;
+ }
+ case 25: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readFixed64();
+ break;
+ }
+ case 33: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readFixed64();
+ break;
+ }
+ case 41: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readFixed64();
+ break;
+ }
+ case 49: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readFixed64());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readFixed64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 57: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readFixed64());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readFixed64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.Fixed64Rules.class, io.grpc.xds.shaded.validate.Fixed64Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private long const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private long lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private long lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private long gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private long gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Long> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Long> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeFixed64(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeFixed64(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeFixed64(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeFixed64(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeFixed64(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeFixed64(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeFixed64(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed64Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed64Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed64Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed64Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFixed64Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ dataSize = 8 * getInList().size();
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ dataSize = 8 * getNotInList().size();
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.Fixed64Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.Fixed64Rules other = (io.grpc.xds.shaded.validate.Fixed64Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getConst());
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLt());
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLte());
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGt());
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGte());
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Fixed64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.Fixed64Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Fixed64Rules describes the constraints applied to `fixed64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.Fixed64Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.Fixed64Rules)
+ io.grpc.xds.shaded.validate.Fixed64RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.Fixed64Rules.class, io.grpc.xds.shaded.validate.Fixed64Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.Fixed64Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Fixed64Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.Fixed64Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.Fixed64Rules build() {
+ io.grpc.xds.shaded.validate.Fixed64Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.Fixed64Rules buildPartial() {
+ io.grpc.xds.shaded.validate.Fixed64Rules result = new io.grpc.xds.shaded.validate.Fixed64Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.Fixed64Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.Fixed64Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.Fixed64Rules other) {
+ if (other == io.grpc.xds.shaded.validate.Fixed64Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.Fixed64Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.Fixed64Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private long const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed64 const = 1;</code>
+ */
+ public Builder setConst(long value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed64 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lt = 2;</code>
+ */
+ public Builder setLt(long value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lte = 3;</code>
+ */
+ public Builder setLte(long value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gt = 4;</code>
+ */
+ public Builder setGt(long value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gte = 5;</code>
+ */
+ public Builder setGte(long value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, long value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public Builder addIn(long value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, long value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public Builder addNotIn(long value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.Fixed64Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.Fixed64Rules)
+ private static final io.grpc.xds.shaded.validate.Fixed64Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.Fixed64Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.Fixed64Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<Fixed64Rules>
+ PARSER = new com.google.protobuf.AbstractParser<Fixed64Rules>() {
+ public Fixed64Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Fixed64Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Fixed64Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Fixed64Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.Fixed64Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed64RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed64RulesOrBuilder.java
new file mode 100644
index 000000000..81d24a016
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Fixed64RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface Fixed64RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.Fixed64Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed64 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional fixed64 const = 1;</code>
+ */
+ long getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lt = 2;</code>
+ */
+ long getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional fixed64 lte = 3;</code>
+ */
+ long getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gt = 4;</code>
+ */
+ long getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional fixed64 gte = 5;</code>
+ */
+ long getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ java.util.List<java.lang.Long> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 in = 6;</code>
+ */
+ long getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Long> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated fixed64 not_in = 7;</code>
+ */
+ long getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FloatRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FloatRules.java
new file mode 100644
index 000000000..88a12640c
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FloatRules.java
@@ -0,0 +1,1353 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * FloatRules describes the constraints applied to `float` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.FloatRules}
+ */
+public final class FloatRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.FloatRules)
+ FloatRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use FloatRules.newBuilder() to construct.
+ private FloatRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private FloatRules() {
+ const_ = 0F;
+ lt_ = 0F;
+ lte_ = 0F;
+ gt_ = 0F;
+ gte_ = 0F;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private FloatRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 13: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readFloat();
+ break;
+ }
+ case 21: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readFloat();
+ break;
+ }
+ case 29: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readFloat();
+ break;
+ }
+ case 37: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readFloat();
+ break;
+ }
+ case 45: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readFloat();
+ break;
+ }
+ case 53: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Float>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readFloat());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Float>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readFloat());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 61: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Float>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readFloat());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Float>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readFloat());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FloatRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FloatRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.FloatRules.class, io.grpc.xds.shaded.validate.FloatRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private float const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional float const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional float const = 1;</code>
+ */
+ public float getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private float lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional float lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional float lt = 2;</code>
+ */
+ public float getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private float lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional float lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional float lte = 3;</code>
+ */
+ public float getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private float gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional float gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional float gt = 4;</code>
+ */
+ public float getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private float gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional float gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional float gte = 5;</code>
+ */
+ public float getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Float> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public java.util.List<java.lang.Float>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public float getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Float> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Float>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public float getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeFloat(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeFloat(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeFloat(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeFloat(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeFloat(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeFloat(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeFloat(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeFloatSize(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ dataSize = 4 * getInList().size();
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ dataSize = 4 * getNotInList().size();
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.FloatRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.FloatRules other = (io.grpc.xds.shaded.validate.FloatRules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (
+ java.lang.Float.floatToIntBits(getConst())
+ == java.lang.Float.floatToIntBits(
+ other.getConst()));
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (
+ java.lang.Float.floatToIntBits(getLt())
+ == java.lang.Float.floatToIntBits(
+ other.getLt()));
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (
+ java.lang.Float.floatToIntBits(getLte())
+ == java.lang.Float.floatToIntBits(
+ other.getLte()));
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (
+ java.lang.Float.floatToIntBits(getGt())
+ == java.lang.Float.floatToIntBits(
+ other.getGt()));
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (
+ java.lang.Float.floatToIntBits(getGte())
+ == java.lang.Float.floatToIntBits(
+ other.getGte()));
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getConst());
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getLt());
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getLte());
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getGt());
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + java.lang.Float.floatToIntBits(
+ getGte());
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.FloatRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.FloatRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * FloatRules describes the constraints applied to `float` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.FloatRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.FloatRules)
+ io.grpc.xds.shaded.validate.FloatRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FloatRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FloatRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.FloatRules.class, io.grpc.xds.shaded.validate.FloatRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.FloatRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0F;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0F;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0F;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0F;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0F;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_FloatRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.FloatRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.FloatRules build() {
+ io.grpc.xds.shaded.validate.FloatRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.FloatRules buildPartial() {
+ io.grpc.xds.shaded.validate.FloatRules result = new io.grpc.xds.shaded.validate.FloatRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.FloatRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.FloatRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.FloatRules other) {
+ if (other == io.grpc.xds.shaded.validate.FloatRules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.FloatRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.FloatRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private float const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional float const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional float const = 1;</code>
+ */
+ public float getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional float const = 1;</code>
+ */
+ public Builder setConst(float value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional float const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional float lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional float lt = 2;</code>
+ */
+ public float getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional float lt = 2;</code>
+ */
+ public Builder setLt(float value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional float lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional float lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional float lte = 3;</code>
+ */
+ public float getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional float lte = 3;</code>
+ */
+ public Builder setLte(float value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional float lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional float gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional float gt = 4;</code>
+ */
+ public float getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional float gt = 4;</code>
+ */
+ public Builder setGt(float value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional float gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private float gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional float gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional float gte = 5;</code>
+ */
+ public float getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional float gte = 5;</code>
+ */
+ public Builder setGte(float value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional float gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0F;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Float> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Float>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public java.util.List<java.lang.Float>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public float getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public Builder setIn(
+ int index, float value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public Builder addIn(float value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Float> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Float> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Float>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Float>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public float getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, float value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public Builder addNotIn(float value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Float> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.FloatRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.FloatRules)
+ private static final io.grpc.xds.shaded.validate.FloatRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.FloatRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.FloatRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<FloatRules>
+ PARSER = new com.google.protobuf.AbstractParser<FloatRules>() {
+ public FloatRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new FloatRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<FloatRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<FloatRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.FloatRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FloatRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FloatRulesOrBuilder.java
new file mode 100644
index 000000000..2005e4dc5
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/FloatRulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface FloatRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.FloatRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional float const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional float const = 1;</code>
+ */
+ float getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional float lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional float lt = 2;</code>
+ */
+ float getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional float lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional float lte = 3;</code>
+ */
+ float getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional float gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional float gt = 4;</code>
+ */
+ float getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional float gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional float gte = 5;</code>
+ */
+ float getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ java.util.List<java.lang.Float> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float in = 6;</code>
+ */
+ float getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ java.util.List<java.lang.Float> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated float not_in = 7;</code>
+ */
+ float getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int32Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int32Rules.java
new file mode 100644
index 000000000..20cb81275
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int32Rules.java
@@ -0,0 +1,1344 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * Int32Rules describes the constraints applied to `int32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.Int32Rules}
+ */
+public final class Int32Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.Int32Rules)
+ Int32RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Int32Rules.newBuilder() to construct.
+ private Int32Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Int32Rules() {
+ const_ = 0;
+ lt_ = 0;
+ lte_ = 0;
+ gt_ = 0;
+ gte_ = 0;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Int32Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readInt32();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readInt32();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readInt32();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readInt32();
+ break;
+ }
+ case 40: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readInt32();
+ break;
+ }
+ case 48: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readInt32());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 56: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readInt32());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.Int32Rules.class, io.grpc.xds.shaded.validate.Int32Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private int const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private int lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private int lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private int gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private int gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Integer> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Integer> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeInt32(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeInt32(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeInt32(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeInt32(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeInt32(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeInt32(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeInt32(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeInt32SizeNoTag(in_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeInt32SizeNoTag(notIn_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.Int32Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.Int32Rules other = (io.grpc.xds.shaded.validate.Int32Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst();
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + getLt();
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + getLte();
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + getGt();
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + getGte();
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Int32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.Int32Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Int32Rules describes the constraints applied to `int32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.Int32Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.Int32Rules)
+ io.grpc.xds.shaded.validate.Int32RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.Int32Rules.class, io.grpc.xds.shaded.validate.Int32Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.Int32Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int32Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.Int32Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.Int32Rules build() {
+ io.grpc.xds.shaded.validate.Int32Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.Int32Rules buildPartial() {
+ io.grpc.xds.shaded.validate.Int32Rules result = new io.grpc.xds.shaded.validate.Int32Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.Int32Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.Int32Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.Int32Rules other) {
+ if (other == io.grpc.xds.shaded.validate.Int32Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.Int32Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.Int32Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public Builder setConst(int value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int32 lt = 2;</code>
+ */
+ public Builder setLt(int value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int32 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int32 lte = 3;</code>
+ */
+ public Builder setLte(int value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int32 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gt = 4;</code>
+ */
+ public Builder setGt(int value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gte = 5;</code>
+ */
+ public Builder setGte(int value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, int value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public Builder addIn(int value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, int value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public Builder addNotIn(int value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.Int32Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.Int32Rules)
+ private static final io.grpc.xds.shaded.validate.Int32Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.Int32Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.Int32Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<Int32Rules>
+ PARSER = new com.google.protobuf.AbstractParser<Int32Rules>() {
+ public Int32Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Int32Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Int32Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Int32Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.Int32Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int32RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int32RulesOrBuilder.java
new file mode 100644
index 000000000..d3e37f561
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int32RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface Int32RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.Int32Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int32 const = 1;</code>
+ */
+ int getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int32 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int32 lt = 2;</code>
+ */
+ int getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int32 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int32 lte = 3;</code>
+ */
+ int getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gt = 4;</code>
+ */
+ int getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int32 gte = 5;</code>
+ */
+ int getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ java.util.List<java.lang.Integer> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 in = 6;</code>
+ */
+ int getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Integer> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int32 not_in = 7;</code>
+ */
+ int getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int64Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int64Rules.java
new file mode 100644
index 000000000..2ec0d9cac
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int64Rules.java
@@ -0,0 +1,1349 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * Int64Rules describes the constraints applied to `int64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.Int64Rules}
+ */
+public final class Int64Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.Int64Rules)
+ Int64RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use Int64Rules.newBuilder() to construct.
+ private Int64Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private Int64Rules() {
+ const_ = 0L;
+ lt_ = 0L;
+ lte_ = 0L;
+ gt_ = 0L;
+ gte_ = 0L;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private Int64Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readInt64();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readInt64();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readInt64();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readInt64();
+ break;
+ }
+ case 40: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readInt64();
+ break;
+ }
+ case 48: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readInt64());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readInt64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 56: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readInt64());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readInt64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.Int64Rules.class, io.grpc.xds.shaded.validate.Int64Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private long const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private long lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private long lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private long gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private long gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Long> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Long> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeInt64(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeInt64(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeInt64(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeInt64(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeInt64(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeInt64(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeInt64(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt64Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeInt64SizeNoTag(in_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeInt64SizeNoTag(notIn_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.Int64Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.Int64Rules other = (io.grpc.xds.shaded.validate.Int64Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getConst());
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLt());
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLte());
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGt());
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGte());
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.Int64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.Int64Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * Int64Rules describes the constraints applied to `int64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.Int64Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.Int64Rules)
+ io.grpc.xds.shaded.validate.Int64RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.Int64Rules.class, io.grpc.xds.shaded.validate.Int64Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.Int64Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_Int64Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.Int64Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.Int64Rules build() {
+ io.grpc.xds.shaded.validate.Int64Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.Int64Rules buildPartial() {
+ io.grpc.xds.shaded.validate.Int64Rules result = new io.grpc.xds.shaded.validate.Int64Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.Int64Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.Int64Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.Int64Rules other) {
+ if (other == io.grpc.xds.shaded.validate.Int64Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.Int64Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.Int64Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private long const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int64 const = 1;</code>
+ */
+ public Builder setConst(long value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int64 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int64 lt = 2;</code>
+ */
+ public Builder setLt(long value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int64 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int64 lte = 3;</code>
+ */
+ public Builder setLte(long value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int64 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gt = 4;</code>
+ */
+ public Builder setGt(long value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gte = 5;</code>
+ */
+ public Builder setGte(long value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, long value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public Builder addIn(long value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, long value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public Builder addNotIn(long value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.Int64Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.Int64Rules)
+ private static final io.grpc.xds.shaded.validate.Int64Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.Int64Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.Int64Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<Int64Rules>
+ PARSER = new com.google.protobuf.AbstractParser<Int64Rules>() {
+ public Int64Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new Int64Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<Int64Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<Int64Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.Int64Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int64RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int64RulesOrBuilder.java
new file mode 100644
index 000000000..4f8042e15
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Int64RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface Int64RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.Int64Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int64 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional int64 const = 1;</code>
+ */
+ long getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int64 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional int64 lt = 2;</code>
+ */
+ long getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int64 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional int64 lte = 3;</code>
+ */
+ long getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gt = 4;</code>
+ */
+ long getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional int64 gte = 5;</code>
+ */
+ long getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ java.util.List<java.lang.Long> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 in = 6;</code>
+ */
+ long getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Long> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated int64 not_in = 7;</code>
+ */
+ long getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MapRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MapRules.java
new file mode 100644
index 000000000..edfee9b3d
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MapRules.java
@@ -0,0 +1,1221 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * MapRules describe the constraints applied to `map` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.MapRules}
+ */
+public final class MapRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.MapRules)
+ MapRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use MapRules.newBuilder() to construct.
+ private MapRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private MapRules() {
+ minPairs_ = 0L;
+ maxPairs_ = 0L;
+ noSparse_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private MapRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ minPairs_ = input.readUInt64();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ maxPairs_ = input.readUInt64();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ noSparse_ = input.readBool();
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.validate.FieldRules.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ subBuilder = keys_.toBuilder();
+ }
+ keys_ = input.readMessage(io.grpc.xds.shaded.validate.FieldRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(keys_);
+ keys_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000008;
+ break;
+ }
+ case 42: {
+ io.grpc.xds.shaded.validate.FieldRules.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ subBuilder = values_.toBuilder();
+ }
+ values_ = input.readMessage(io.grpc.xds.shaded.validate.FieldRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(values_);
+ values_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000010;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MapRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MapRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.MapRules.class, io.grpc.xds.shaded.validate.MapRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int MIN_PAIRS_FIELD_NUMBER = 1;
+ private long minPairs_;
+ /**
+ * <pre>
+ * MinPairs specifies that this field must have the specified number of
+ * KVs at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_pairs = 1;</code>
+ */
+ public boolean hasMinPairs() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * MinPairs specifies that this field must have the specified number of
+ * KVs at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_pairs = 1;</code>
+ */
+ public long getMinPairs() {
+ return minPairs_;
+ }
+
+ public static final int MAX_PAIRS_FIELD_NUMBER = 2;
+ private long maxPairs_;
+ /**
+ * <pre>
+ * MaxPairs specifies that this field must have the specified number of
+ * KVs at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_pairs = 2;</code>
+ */
+ public boolean hasMaxPairs() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * MaxPairs specifies that this field must have the specified number of
+ * KVs at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_pairs = 2;</code>
+ */
+ public long getMaxPairs() {
+ return maxPairs_;
+ }
+
+ public static final int NO_SPARSE_FIELD_NUMBER = 3;
+ private boolean noSparse_;
+ /**
+ * <pre>
+ * NoSparse specifies values in this field cannot be unset. This only
+ * applies to map's with message value types.
+ * </pre>
+ *
+ * <code>optional bool no_sparse = 3;</code>
+ */
+ public boolean hasNoSparse() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * NoSparse specifies values in this field cannot be unset. This only
+ * applies to map's with message value types.
+ * </pre>
+ *
+ * <code>optional bool no_sparse = 3;</code>
+ */
+ public boolean getNoSparse() {
+ return noSparse_;
+ }
+
+ public static final int KEYS_FIELD_NUMBER = 4;
+ private io.grpc.xds.shaded.validate.FieldRules keys_;
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public boolean hasKeys() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules getKeys() {
+ return keys_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : keys_;
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRulesOrBuilder getKeysOrBuilder() {
+ return keys_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : keys_;
+ }
+
+ public static final int VALUES_FIELD_NUMBER = 5;
+ private io.grpc.xds.shaded.validate.FieldRules values_;
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public boolean hasValues() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules getValues() {
+ return values_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : values_;
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRulesOrBuilder getValuesOrBuilder() {
+ return values_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : values_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeUInt64(1, minPairs_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeUInt64(2, maxPairs_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeBool(3, noSparse_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeMessage(4, getKeys());
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeMessage(5, getValues());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(1, minPairs_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, maxPairs_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(3, noSparse_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getKeys());
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getValues());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.MapRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.MapRules other = (io.grpc.xds.shaded.validate.MapRules) obj;
+
+ boolean result = true;
+ result = result && (hasMinPairs() == other.hasMinPairs());
+ if (hasMinPairs()) {
+ result = result && (getMinPairs()
+ == other.getMinPairs());
+ }
+ result = result && (hasMaxPairs() == other.hasMaxPairs());
+ if (hasMaxPairs()) {
+ result = result && (getMaxPairs()
+ == other.getMaxPairs());
+ }
+ result = result && (hasNoSparse() == other.hasNoSparse());
+ if (hasNoSparse()) {
+ result = result && (getNoSparse()
+ == other.getNoSparse());
+ }
+ result = result && (hasKeys() == other.hasKeys());
+ if (hasKeys()) {
+ result = result && getKeys()
+ .equals(other.getKeys());
+ }
+ result = result && (hasValues() == other.hasValues());
+ if (hasValues()) {
+ result = result && getValues()
+ .equals(other.getValues());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasMinPairs()) {
+ hash = (37 * hash) + MIN_PAIRS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMinPairs());
+ }
+ if (hasMaxPairs()) {
+ hash = (37 * hash) + MAX_PAIRS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMaxPairs());
+ }
+ if (hasNoSparse()) {
+ hash = (37 * hash) + NO_SPARSE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getNoSparse());
+ }
+ if (hasKeys()) {
+ hash = (37 * hash) + KEYS_FIELD_NUMBER;
+ hash = (53 * hash) + getKeys().hashCode();
+ }
+ if (hasValues()) {
+ hash = (37 * hash) + VALUES_FIELD_NUMBER;
+ hash = (53 * hash) + getValues().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.MapRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.MapRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * MapRules describe the constraints applied to `map` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.MapRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.MapRules)
+ io.grpc.xds.shaded.validate.MapRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MapRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MapRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.MapRules.class, io.grpc.xds.shaded.validate.MapRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.MapRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getKeysFieldBuilder();
+ getValuesFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ minPairs_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ maxPairs_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ noSparse_ = false;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ if (keysBuilder_ == null) {
+ keys_ = null;
+ } else {
+ keysBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ if (valuesBuilder_ == null) {
+ values_ = null;
+ } else {
+ valuesBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MapRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.MapRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.MapRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.MapRules build() {
+ io.grpc.xds.shaded.validate.MapRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.MapRules buildPartial() {
+ io.grpc.xds.shaded.validate.MapRules result = new io.grpc.xds.shaded.validate.MapRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.minPairs_ = minPairs_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.maxPairs_ = maxPairs_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.noSparse_ = noSparse_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ if (keysBuilder_ == null) {
+ result.keys_ = keys_;
+ } else {
+ result.keys_ = keysBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ if (valuesBuilder_ == null) {
+ result.values_ = values_;
+ } else {
+ result.values_ = valuesBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.MapRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.MapRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.MapRules other) {
+ if (other == io.grpc.xds.shaded.validate.MapRules.getDefaultInstance()) return this;
+ if (other.hasMinPairs()) {
+ setMinPairs(other.getMinPairs());
+ }
+ if (other.hasMaxPairs()) {
+ setMaxPairs(other.getMaxPairs());
+ }
+ if (other.hasNoSparse()) {
+ setNoSparse(other.getNoSparse());
+ }
+ if (other.hasKeys()) {
+ mergeKeys(other.getKeys());
+ }
+ if (other.hasValues()) {
+ mergeValues(other.getValues());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.MapRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.MapRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private long minPairs_ ;
+ /**
+ * <pre>
+ * MinPairs specifies that this field must have the specified number of
+ * KVs at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_pairs = 1;</code>
+ */
+ public boolean hasMinPairs() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * MinPairs specifies that this field must have the specified number of
+ * KVs at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_pairs = 1;</code>
+ */
+ public long getMinPairs() {
+ return minPairs_;
+ }
+ /**
+ * <pre>
+ * MinPairs specifies that this field must have the specified number of
+ * KVs at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_pairs = 1;</code>
+ */
+ public Builder setMinPairs(long value) {
+ bitField0_ |= 0x00000001;
+ minPairs_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MinPairs specifies that this field must have the specified number of
+ * KVs at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_pairs = 1;</code>
+ */
+ public Builder clearMinPairs() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ minPairs_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long maxPairs_ ;
+ /**
+ * <pre>
+ * MaxPairs specifies that this field must have the specified number of
+ * KVs at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_pairs = 2;</code>
+ */
+ public boolean hasMaxPairs() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * MaxPairs specifies that this field must have the specified number of
+ * KVs at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_pairs = 2;</code>
+ */
+ public long getMaxPairs() {
+ return maxPairs_;
+ }
+ /**
+ * <pre>
+ * MaxPairs specifies that this field must have the specified number of
+ * KVs at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_pairs = 2;</code>
+ */
+ public Builder setMaxPairs(long value) {
+ bitField0_ |= 0x00000002;
+ maxPairs_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MaxPairs specifies that this field must have the specified number of
+ * KVs at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_pairs = 2;</code>
+ */
+ public Builder clearMaxPairs() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ maxPairs_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private boolean noSparse_ ;
+ /**
+ * <pre>
+ * NoSparse specifies values in this field cannot be unset. This only
+ * applies to map's with message value types.
+ * </pre>
+ *
+ * <code>optional bool no_sparse = 3;</code>
+ */
+ public boolean hasNoSparse() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * NoSparse specifies values in this field cannot be unset. This only
+ * applies to map's with message value types.
+ * </pre>
+ *
+ * <code>optional bool no_sparse = 3;</code>
+ */
+ public boolean getNoSparse() {
+ return noSparse_;
+ }
+ /**
+ * <pre>
+ * NoSparse specifies values in this field cannot be unset. This only
+ * applies to map's with message value types.
+ * </pre>
+ *
+ * <code>optional bool no_sparse = 3;</code>
+ */
+ public Builder setNoSparse(boolean value) {
+ bitField0_ |= 0x00000004;
+ noSparse_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NoSparse specifies values in this field cannot be unset. This only
+ * applies to map's with message value types.
+ * </pre>
+ *
+ * <code>optional bool no_sparse = 3;</code>
+ */
+ public Builder clearNoSparse() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ noSparse_ = false;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.validate.FieldRules keys_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder> keysBuilder_;
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public boolean hasKeys() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules getKeys() {
+ if (keysBuilder_ == null) {
+ return keys_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : keys_;
+ } else {
+ return keysBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public Builder setKeys(io.grpc.xds.shaded.validate.FieldRules value) {
+ if (keysBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ keys_ = value;
+ onChanged();
+ } else {
+ keysBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public Builder setKeys(
+ io.grpc.xds.shaded.validate.FieldRules.Builder builderForValue) {
+ if (keysBuilder_ == null) {
+ keys_ = builderForValue.build();
+ onChanged();
+ } else {
+ keysBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public Builder mergeKeys(io.grpc.xds.shaded.validate.FieldRules value) {
+ if (keysBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) == 0x00000008) &&
+ keys_ != null &&
+ keys_ != io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance()) {
+ keys_ =
+ io.grpc.xds.shaded.validate.FieldRules.newBuilder(keys_).mergeFrom(value).buildPartial();
+ } else {
+ keys_ = value;
+ }
+ onChanged();
+ } else {
+ keysBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public Builder clearKeys() {
+ if (keysBuilder_ == null) {
+ keys_ = null;
+ onChanged();
+ } else {
+ keysBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules.Builder getKeysBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getKeysFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRulesOrBuilder getKeysOrBuilder() {
+ if (keysBuilder_ != null) {
+ return keysBuilder_.getMessageOrBuilder();
+ } else {
+ return keys_ == null ?
+ io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : keys_;
+ }
+ }
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder>
+ getKeysFieldBuilder() {
+ if (keysBuilder_ == null) {
+ keysBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder>(
+ getKeys(),
+ getParentForChildren(),
+ isClean());
+ keys_ = null;
+ }
+ return keysBuilder_;
+ }
+
+ private io.grpc.xds.shaded.validate.FieldRules values_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder> valuesBuilder_;
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public boolean hasValues() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules getValues() {
+ if (valuesBuilder_ == null) {
+ return values_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : values_;
+ } else {
+ return valuesBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public Builder setValues(io.grpc.xds.shaded.validate.FieldRules value) {
+ if (valuesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ values_ = value;
+ onChanged();
+ } else {
+ valuesBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public Builder setValues(
+ io.grpc.xds.shaded.validate.FieldRules.Builder builderForValue) {
+ if (valuesBuilder_ == null) {
+ values_ = builderForValue.build();
+ onChanged();
+ } else {
+ valuesBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public Builder mergeValues(io.grpc.xds.shaded.validate.FieldRules value) {
+ if (valuesBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) == 0x00000010) &&
+ values_ != null &&
+ values_ != io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance()) {
+ values_ =
+ io.grpc.xds.shaded.validate.FieldRules.newBuilder(values_).mergeFrom(value).buildPartial();
+ } else {
+ values_ = value;
+ }
+ onChanged();
+ } else {
+ valuesBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public Builder clearValues() {
+ if (valuesBuilder_ == null) {
+ values_ = null;
+ onChanged();
+ } else {
+ valuesBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules.Builder getValuesBuilder() {
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return getValuesFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRulesOrBuilder getValuesOrBuilder() {
+ if (valuesBuilder_ != null) {
+ return valuesBuilder_.getMessageOrBuilder();
+ } else {
+ return values_ == null ?
+ io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : values_;
+ }
+ }
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder>
+ getValuesFieldBuilder() {
+ if (valuesBuilder_ == null) {
+ valuesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder>(
+ getValues(),
+ getParentForChildren(),
+ isClean());
+ values_ = null;
+ }
+ return valuesBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.MapRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.MapRules)
+ private static final io.grpc.xds.shaded.validate.MapRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.MapRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.MapRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<MapRules>
+ PARSER = new com.google.protobuf.AbstractParser<MapRules>() {
+ public MapRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new MapRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<MapRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<MapRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.MapRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MapRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MapRulesOrBuilder.java
new file mode 100644
index 000000000..332a63dad
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MapRulesOrBuilder.java
@@ -0,0 +1,122 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface MapRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.MapRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * MinPairs specifies that this field must have the specified number of
+ * KVs at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_pairs = 1;</code>
+ */
+ boolean hasMinPairs();
+ /**
+ * <pre>
+ * MinPairs specifies that this field must have the specified number of
+ * KVs at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_pairs = 1;</code>
+ */
+ long getMinPairs();
+
+ /**
+ * <pre>
+ * MaxPairs specifies that this field must have the specified number of
+ * KVs at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_pairs = 2;</code>
+ */
+ boolean hasMaxPairs();
+ /**
+ * <pre>
+ * MaxPairs specifies that this field must have the specified number of
+ * KVs at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_pairs = 2;</code>
+ */
+ long getMaxPairs();
+
+ /**
+ * <pre>
+ * NoSparse specifies values in this field cannot be unset. This only
+ * applies to map's with message value types.
+ * </pre>
+ *
+ * <code>optional bool no_sparse = 3;</code>
+ */
+ boolean hasNoSparse();
+ /**
+ * <pre>
+ * NoSparse specifies values in this field cannot be unset. This only
+ * applies to map's with message value types.
+ * </pre>
+ *
+ * <code>optional bool no_sparse = 3;</code>
+ */
+ boolean getNoSparse();
+
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ boolean hasKeys();
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ io.grpc.xds.shaded.validate.FieldRules getKeys();
+ /**
+ * <pre>
+ * Keys specifies the constraints to be applied to each key in the field.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules keys = 4;</code>
+ */
+ io.grpc.xds.shaded.validate.FieldRulesOrBuilder getKeysOrBuilder();
+
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ boolean hasValues();
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ io.grpc.xds.shaded.validate.FieldRules getValues();
+ /**
+ * <pre>
+ * Values specifies the constraints to be applied to the value of each key
+ * in the field. Message values will still have their validations evaluated
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules values = 5;</code>
+ */
+ io.grpc.xds.shaded.validate.FieldRulesOrBuilder getValuesOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MessageRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MessageRules.java
new file mode 100644
index 000000000..26f03db6e
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MessageRules.java
@@ -0,0 +1,616 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * MessageRules describe the constraints applied to embedded message values.
+ * For message-type fields, validation is performed recursively.
+ * </pre>
+ *
+ * Protobuf type {@code validate.MessageRules}
+ */
+public final class MessageRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.MessageRules)
+ MessageRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use MessageRules.newBuilder() to construct.
+ private MessageRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private MessageRules() {
+ skip_ = false;
+ required_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private MessageRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ skip_ = input.readBool();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ required_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MessageRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MessageRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.MessageRules.class, io.grpc.xds.shaded.validate.MessageRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int SKIP_FIELD_NUMBER = 1;
+ private boolean skip_;
+ /**
+ * <pre>
+ * Skip specifies that the validation rules of this field should not be
+ * evaluated
+ * </pre>
+ *
+ * <code>optional bool skip = 1;</code>
+ */
+ public boolean hasSkip() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Skip specifies that the validation rules of this field should not be
+ * evaluated
+ * </pre>
+ *
+ * <code>optional bool skip = 1;</code>
+ */
+ public boolean getSkip() {
+ return skip_;
+ }
+
+ public static final int REQUIRED_FIELD_NUMBER = 2;
+ private boolean required_;
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 2;</code>
+ */
+ public boolean hasRequired() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 2;</code>
+ */
+ public boolean getRequired() {
+ return required_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBool(1, skip_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeBool(2, required_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, skip_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(2, required_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.MessageRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.MessageRules other = (io.grpc.xds.shaded.validate.MessageRules) obj;
+
+ boolean result = true;
+ result = result && (hasSkip() == other.hasSkip());
+ if (hasSkip()) {
+ result = result && (getSkip()
+ == other.getSkip());
+ }
+ result = result && (hasRequired() == other.hasRequired());
+ if (hasRequired()) {
+ result = result && (getRequired()
+ == other.getRequired());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasSkip()) {
+ hash = (37 * hash) + SKIP_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getSkip());
+ }
+ if (hasRequired()) {
+ hash = (37 * hash) + REQUIRED_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getRequired());
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.MessageRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.MessageRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * MessageRules describe the constraints applied to embedded message values.
+ * For message-type fields, validation is performed recursively.
+ * </pre>
+ *
+ * Protobuf type {@code validate.MessageRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.MessageRules)
+ io.grpc.xds.shaded.validate.MessageRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MessageRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MessageRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.MessageRules.class, io.grpc.xds.shaded.validate.MessageRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.MessageRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ skip_ = false;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ required_ = false;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_MessageRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.MessageRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.MessageRules build() {
+ io.grpc.xds.shaded.validate.MessageRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.MessageRules buildPartial() {
+ io.grpc.xds.shaded.validate.MessageRules result = new io.grpc.xds.shaded.validate.MessageRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.skip_ = skip_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.required_ = required_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.MessageRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.MessageRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.MessageRules other) {
+ if (other == io.grpc.xds.shaded.validate.MessageRules.getDefaultInstance()) return this;
+ if (other.hasSkip()) {
+ setSkip(other.getSkip());
+ }
+ if (other.hasRequired()) {
+ setRequired(other.getRequired());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.MessageRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.MessageRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private boolean skip_ ;
+ /**
+ * <pre>
+ * Skip specifies that the validation rules of this field should not be
+ * evaluated
+ * </pre>
+ *
+ * <code>optional bool skip = 1;</code>
+ */
+ public boolean hasSkip() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Skip specifies that the validation rules of this field should not be
+ * evaluated
+ * </pre>
+ *
+ * <code>optional bool skip = 1;</code>
+ */
+ public boolean getSkip() {
+ return skip_;
+ }
+ /**
+ * <pre>
+ * Skip specifies that the validation rules of this field should not be
+ * evaluated
+ * </pre>
+ *
+ * <code>optional bool skip = 1;</code>
+ */
+ public Builder setSkip(boolean value) {
+ bitField0_ |= 0x00000001;
+ skip_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Skip specifies that the validation rules of this field should not be
+ * evaluated
+ * </pre>
+ *
+ * <code>optional bool skip = 1;</code>
+ */
+ public Builder clearSkip() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ skip_ = false;
+ onChanged();
+ return this;
+ }
+
+ private boolean required_ ;
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 2;</code>
+ */
+ public boolean hasRequired() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 2;</code>
+ */
+ public boolean getRequired() {
+ return required_;
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 2;</code>
+ */
+ public Builder setRequired(boolean value) {
+ bitField0_ |= 0x00000002;
+ required_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 2;</code>
+ */
+ public Builder clearRequired() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ required_ = false;
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.MessageRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.MessageRules)
+ private static final io.grpc.xds.shaded.validate.MessageRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.MessageRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.MessageRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<MessageRules>
+ PARSER = new com.google.protobuf.AbstractParser<MessageRules>() {
+ public MessageRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new MessageRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<MessageRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<MessageRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.MessageRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MessageRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MessageRulesOrBuilder.java
new file mode 100644
index 000000000..34cd876ce
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/MessageRulesOrBuilder.java
@@ -0,0 +1,45 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface MessageRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.MessageRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Skip specifies that the validation rules of this field should not be
+ * evaluated
+ * </pre>
+ *
+ * <code>optional bool skip = 1;</code>
+ */
+ boolean hasSkip();
+ /**
+ * <pre>
+ * Skip specifies that the validation rules of this field should not be
+ * evaluated
+ * </pre>
+ *
+ * <code>optional bool skip = 1;</code>
+ */
+ boolean getSkip();
+
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 2;</code>
+ */
+ boolean hasRequired();
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 2;</code>
+ */
+ boolean getRequired();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/RepeatedRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/RepeatedRules.java
new file mode 100644
index 000000000..ea910a8a3
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/RepeatedRules.java
@@ -0,0 +1,993 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * RepeatedRules describe the constraints applied to `repeated` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.RepeatedRules}
+ */
+public final class RepeatedRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.RepeatedRules)
+ RepeatedRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use RepeatedRules.newBuilder() to construct.
+ private RepeatedRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private RepeatedRules() {
+ minItems_ = 0L;
+ maxItems_ = 0L;
+ unique_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private RepeatedRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ minItems_ = input.readUInt64();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ maxItems_ = input.readUInt64();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ unique_ = input.readBool();
+ break;
+ }
+ case 34: {
+ io.grpc.xds.shaded.validate.FieldRules.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ subBuilder = items_.toBuilder();
+ }
+ items_ = input.readMessage(io.grpc.xds.shaded.validate.FieldRules.PARSER, extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(items_);
+ items_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000008;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_RepeatedRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_RepeatedRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.RepeatedRules.class, io.grpc.xds.shaded.validate.RepeatedRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int MIN_ITEMS_FIELD_NUMBER = 1;
+ private long minItems_;
+ /**
+ * <pre>
+ * MinItems specifies that this field must have the specified number of
+ * items at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_items = 1;</code>
+ */
+ public boolean hasMinItems() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * MinItems specifies that this field must have the specified number of
+ * items at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_items = 1;</code>
+ */
+ public long getMinItems() {
+ return minItems_;
+ }
+
+ public static final int MAX_ITEMS_FIELD_NUMBER = 2;
+ private long maxItems_;
+ /**
+ * <pre>
+ * MaxItems specifies that this field must have the specified number of
+ * items at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_items = 2;</code>
+ */
+ public boolean hasMaxItems() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * MaxItems specifies that this field must have the specified number of
+ * items at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_items = 2;</code>
+ */
+ public long getMaxItems() {
+ return maxItems_;
+ }
+
+ public static final int UNIQUE_FIELD_NUMBER = 3;
+ private boolean unique_;
+ /**
+ * <pre>
+ * Unique specifies that all elements in this field must be unique. This
+ * contraint is only applicable to scalar and enum types (messages are not
+ * supported).
+ * </pre>
+ *
+ * <code>optional bool unique = 3;</code>
+ */
+ public boolean hasUnique() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Unique specifies that all elements in this field must be unique. This
+ * contraint is only applicable to scalar and enum types (messages are not
+ * supported).
+ * </pre>
+ *
+ * <code>optional bool unique = 3;</code>
+ */
+ public boolean getUnique() {
+ return unique_;
+ }
+
+ public static final int ITEMS_FIELD_NUMBER = 4;
+ private io.grpc.xds.shaded.validate.FieldRules items_;
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public boolean hasItems() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules getItems() {
+ return items_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : items_;
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRulesOrBuilder getItemsOrBuilder() {
+ return items_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : items_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeUInt64(1, minItems_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeUInt64(2, maxItems_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeBool(3, unique_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeMessage(4, getItems());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(1, minItems_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, maxItems_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(3, unique_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getItems());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.RepeatedRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.RepeatedRules other = (io.grpc.xds.shaded.validate.RepeatedRules) obj;
+
+ boolean result = true;
+ result = result && (hasMinItems() == other.hasMinItems());
+ if (hasMinItems()) {
+ result = result && (getMinItems()
+ == other.getMinItems());
+ }
+ result = result && (hasMaxItems() == other.hasMaxItems());
+ if (hasMaxItems()) {
+ result = result && (getMaxItems()
+ == other.getMaxItems());
+ }
+ result = result && (hasUnique() == other.hasUnique());
+ if (hasUnique()) {
+ result = result && (getUnique()
+ == other.getUnique());
+ }
+ result = result && (hasItems() == other.hasItems());
+ if (hasItems()) {
+ result = result && getItems()
+ .equals(other.getItems());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasMinItems()) {
+ hash = (37 * hash) + MIN_ITEMS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMinItems());
+ }
+ if (hasMaxItems()) {
+ hash = (37 * hash) + MAX_ITEMS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMaxItems());
+ }
+ if (hasUnique()) {
+ hash = (37 * hash) + UNIQUE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getUnique());
+ }
+ if (hasItems()) {
+ hash = (37 * hash) + ITEMS_FIELD_NUMBER;
+ hash = (53 * hash) + getItems().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.RepeatedRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.RepeatedRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * RepeatedRules describe the constraints applied to `repeated` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.RepeatedRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.RepeatedRules)
+ io.grpc.xds.shaded.validate.RepeatedRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_RepeatedRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_RepeatedRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.RepeatedRules.class, io.grpc.xds.shaded.validate.RepeatedRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.RepeatedRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getItemsFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ minItems_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ maxItems_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ unique_ = false;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ if (itemsBuilder_ == null) {
+ items_ = null;
+ } else {
+ itemsBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_RepeatedRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.RepeatedRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.RepeatedRules build() {
+ io.grpc.xds.shaded.validate.RepeatedRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.RepeatedRules buildPartial() {
+ io.grpc.xds.shaded.validate.RepeatedRules result = new io.grpc.xds.shaded.validate.RepeatedRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.minItems_ = minItems_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.maxItems_ = maxItems_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.unique_ = unique_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ if (itemsBuilder_ == null) {
+ result.items_ = items_;
+ } else {
+ result.items_ = itemsBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.RepeatedRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.RepeatedRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.RepeatedRules other) {
+ if (other == io.grpc.xds.shaded.validate.RepeatedRules.getDefaultInstance()) return this;
+ if (other.hasMinItems()) {
+ setMinItems(other.getMinItems());
+ }
+ if (other.hasMaxItems()) {
+ setMaxItems(other.getMaxItems());
+ }
+ if (other.hasUnique()) {
+ setUnique(other.getUnique());
+ }
+ if (other.hasItems()) {
+ mergeItems(other.getItems());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.RepeatedRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.RepeatedRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private long minItems_ ;
+ /**
+ * <pre>
+ * MinItems specifies that this field must have the specified number of
+ * items at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_items = 1;</code>
+ */
+ public boolean hasMinItems() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * MinItems specifies that this field must have the specified number of
+ * items at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_items = 1;</code>
+ */
+ public long getMinItems() {
+ return minItems_;
+ }
+ /**
+ * <pre>
+ * MinItems specifies that this field must have the specified number of
+ * items at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_items = 1;</code>
+ */
+ public Builder setMinItems(long value) {
+ bitField0_ |= 0x00000001;
+ minItems_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MinItems specifies that this field must have the specified number of
+ * items at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_items = 1;</code>
+ */
+ public Builder clearMinItems() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ minItems_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long maxItems_ ;
+ /**
+ * <pre>
+ * MaxItems specifies that this field must have the specified number of
+ * items at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_items = 2;</code>
+ */
+ public boolean hasMaxItems() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * MaxItems specifies that this field must have the specified number of
+ * items at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_items = 2;</code>
+ */
+ public long getMaxItems() {
+ return maxItems_;
+ }
+ /**
+ * <pre>
+ * MaxItems specifies that this field must have the specified number of
+ * items at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_items = 2;</code>
+ */
+ public Builder setMaxItems(long value) {
+ bitField0_ |= 0x00000002;
+ maxItems_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MaxItems specifies that this field must have the specified number of
+ * items at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_items = 2;</code>
+ */
+ public Builder clearMaxItems() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ maxItems_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private boolean unique_ ;
+ /**
+ * <pre>
+ * Unique specifies that all elements in this field must be unique. This
+ * contraint is only applicable to scalar and enum types (messages are not
+ * supported).
+ * </pre>
+ *
+ * <code>optional bool unique = 3;</code>
+ */
+ public boolean hasUnique() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Unique specifies that all elements in this field must be unique. This
+ * contraint is only applicable to scalar and enum types (messages are not
+ * supported).
+ * </pre>
+ *
+ * <code>optional bool unique = 3;</code>
+ */
+ public boolean getUnique() {
+ return unique_;
+ }
+ /**
+ * <pre>
+ * Unique specifies that all elements in this field must be unique. This
+ * contraint is only applicable to scalar and enum types (messages are not
+ * supported).
+ * </pre>
+ *
+ * <code>optional bool unique = 3;</code>
+ */
+ public Builder setUnique(boolean value) {
+ bitField0_ |= 0x00000004;
+ unique_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Unique specifies that all elements in this field must be unique. This
+ * contraint is only applicable to scalar and enum types (messages are not
+ * supported).
+ * </pre>
+ *
+ * <code>optional bool unique = 3;</code>
+ */
+ public Builder clearUnique() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ unique_ = false;
+ onChanged();
+ return this;
+ }
+
+ private io.grpc.xds.shaded.validate.FieldRules items_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder> itemsBuilder_;
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public boolean hasItems() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules getItems() {
+ if (itemsBuilder_ == null) {
+ return items_ == null ? io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : items_;
+ } else {
+ return itemsBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public Builder setItems(io.grpc.xds.shaded.validate.FieldRules value) {
+ if (itemsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ items_ = value;
+ onChanged();
+ } else {
+ itemsBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public Builder setItems(
+ io.grpc.xds.shaded.validate.FieldRules.Builder builderForValue) {
+ if (itemsBuilder_ == null) {
+ items_ = builderForValue.build();
+ onChanged();
+ } else {
+ itemsBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public Builder mergeItems(io.grpc.xds.shaded.validate.FieldRules value) {
+ if (itemsBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) == 0x00000008) &&
+ items_ != null &&
+ items_ != io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance()) {
+ items_ =
+ io.grpc.xds.shaded.validate.FieldRules.newBuilder(items_).mergeFrom(value).buildPartial();
+ } else {
+ items_ = value;
+ }
+ onChanged();
+ } else {
+ itemsBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public Builder clearItems() {
+ if (itemsBuilder_ == null) {
+ items_ = null;
+ onChanged();
+ } else {
+ itemsBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRules.Builder getItemsBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getItemsFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ public io.grpc.xds.shaded.validate.FieldRulesOrBuilder getItemsOrBuilder() {
+ if (itemsBuilder_ != null) {
+ return itemsBuilder_.getMessageOrBuilder();
+ } else {
+ return items_ == null ?
+ io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance() : items_;
+ }
+ }
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder>
+ getItemsFieldBuilder() {
+ if (itemsBuilder_ == null) {
+ itemsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ io.grpc.xds.shaded.validate.FieldRules, io.grpc.xds.shaded.validate.FieldRules.Builder, io.grpc.xds.shaded.validate.FieldRulesOrBuilder>(
+ getItems(),
+ getParentForChildren(),
+ isClean());
+ items_ = null;
+ }
+ return itemsBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.RepeatedRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.RepeatedRules)
+ private static final io.grpc.xds.shaded.validate.RepeatedRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.RepeatedRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.RepeatedRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<RepeatedRules>
+ PARSER = new com.google.protobuf.AbstractParser<RepeatedRules>() {
+ public RepeatedRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new RepeatedRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<RepeatedRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<RepeatedRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.RepeatedRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/RepeatedRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/RepeatedRulesOrBuilder.java
new file mode 100644
index 000000000..04ef65e1d
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/RepeatedRulesOrBuilder.java
@@ -0,0 +1,99 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface RepeatedRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.RepeatedRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * MinItems specifies that this field must have the specified number of
+ * items at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_items = 1;</code>
+ */
+ boolean hasMinItems();
+ /**
+ * <pre>
+ * MinItems specifies that this field must have the specified number of
+ * items at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_items = 1;</code>
+ */
+ long getMinItems();
+
+ /**
+ * <pre>
+ * MaxItems specifies that this field must have the specified number of
+ * items at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_items = 2;</code>
+ */
+ boolean hasMaxItems();
+ /**
+ * <pre>
+ * MaxItems specifies that this field must have the specified number of
+ * items at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_items = 2;</code>
+ */
+ long getMaxItems();
+
+ /**
+ * <pre>
+ * Unique specifies that all elements in this field must be unique. This
+ * contraint is only applicable to scalar and enum types (messages are not
+ * supported).
+ * </pre>
+ *
+ * <code>optional bool unique = 3;</code>
+ */
+ boolean hasUnique();
+ /**
+ * <pre>
+ * Unique specifies that all elements in this field must be unique. This
+ * contraint is only applicable to scalar and enum types (messages are not
+ * supported).
+ * </pre>
+ *
+ * <code>optional bool unique = 3;</code>
+ */
+ boolean getUnique();
+
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ boolean hasItems();
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ io.grpc.xds.shaded.validate.FieldRules getItems();
+ /**
+ * <pre>
+ * Items specifies the contraints to be applied to each item in the field.
+ * Repeated message fields will still execute validation against each item
+ * unless skip is specified here.
+ * </pre>
+ *
+ * <code>optional .validate.FieldRules items = 4;</code>
+ */
+ io.grpc.xds.shaded.validate.FieldRulesOrBuilder getItemsOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed32Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed32Rules.java
new file mode 100644
index 000000000..66dfe7f45
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed32Rules.java
@@ -0,0 +1,1338 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * SFixed32Rules describes the constraints applied to `sfixed32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.SFixed32Rules}
+ */
+public final class SFixed32Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.SFixed32Rules)
+ SFixed32RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use SFixed32Rules.newBuilder() to construct.
+ private SFixed32Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private SFixed32Rules() {
+ const_ = 0;
+ lt_ = 0;
+ lte_ = 0;
+ gt_ = 0;
+ gte_ = 0;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SFixed32Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 13: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readSFixed32();
+ break;
+ }
+ case 21: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readSFixed32();
+ break;
+ }
+ case 29: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readSFixed32();
+ break;
+ }
+ case 37: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readSFixed32();
+ break;
+ }
+ case 45: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readSFixed32();
+ break;
+ }
+ case 53: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readSFixed32());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readSFixed32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 61: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readSFixed32());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readSFixed32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.SFixed32Rules.class, io.grpc.xds.shaded.validate.SFixed32Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private int const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private int lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private int lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private int gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private int gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Integer> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Integer> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeSFixed32(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeSFixed32(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeSFixed32(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeSFixed32(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeSFixed32(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeSFixed32(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeSFixed32(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed32Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed32Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed32Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed32Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed32Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ dataSize = 4 * getInList().size();
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ dataSize = 4 * getNotInList().size();
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.SFixed32Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.SFixed32Rules other = (io.grpc.xds.shaded.validate.SFixed32Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst();
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + getLt();
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + getLte();
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + getGt();
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + getGte();
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.SFixed32Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * SFixed32Rules describes the constraints applied to `sfixed32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.SFixed32Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.SFixed32Rules)
+ io.grpc.xds.shaded.validate.SFixed32RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.SFixed32Rules.class, io.grpc.xds.shaded.validate.SFixed32Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.SFixed32Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed32Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.SFixed32Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.SFixed32Rules build() {
+ io.grpc.xds.shaded.validate.SFixed32Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.SFixed32Rules buildPartial() {
+ io.grpc.xds.shaded.validate.SFixed32Rules result = new io.grpc.xds.shaded.validate.SFixed32Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.SFixed32Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.SFixed32Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.SFixed32Rules other) {
+ if (other == io.grpc.xds.shaded.validate.SFixed32Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.SFixed32Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.SFixed32Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed32 const = 1;</code>
+ */
+ public Builder setConst(int value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed32 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lt = 2;</code>
+ */
+ public Builder setLt(int value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lte = 3;</code>
+ */
+ public Builder setLte(int value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gt = 4;</code>
+ */
+ public Builder setGt(int value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gte = 5;</code>
+ */
+ public Builder setGte(int value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, int value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public Builder addIn(int value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, int value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public Builder addNotIn(int value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.SFixed32Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.SFixed32Rules)
+ private static final io.grpc.xds.shaded.validate.SFixed32Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.SFixed32Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.SFixed32Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<SFixed32Rules>
+ PARSER = new com.google.protobuf.AbstractParser<SFixed32Rules>() {
+ public SFixed32Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SFixed32Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<SFixed32Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<SFixed32Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.SFixed32Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed32RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed32RulesOrBuilder.java
new file mode 100644
index 000000000..40c008114
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed32RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface SFixed32RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.SFixed32Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed32 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed32 const = 1;</code>
+ */
+ int getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lt = 2;</code>
+ */
+ int getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed32 lte = 3;</code>
+ */
+ int getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gt = 4;</code>
+ */
+ int getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed32 gte = 5;</code>
+ */
+ int getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ java.util.List<java.lang.Integer> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 in = 6;</code>
+ */
+ int getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Integer> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed32 not_in = 7;</code>
+ */
+ int getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed64Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed64Rules.java
new file mode 100644
index 000000000..c00490a7d
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed64Rules.java
@@ -0,0 +1,1343 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * SFixed64Rules describes the constraints applied to `sfixed64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.SFixed64Rules}
+ */
+public final class SFixed64Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.SFixed64Rules)
+ SFixed64RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use SFixed64Rules.newBuilder() to construct.
+ private SFixed64Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private SFixed64Rules() {
+ const_ = 0L;
+ lt_ = 0L;
+ lte_ = 0L;
+ gt_ = 0L;
+ gte_ = 0L;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SFixed64Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 9: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readSFixed64();
+ break;
+ }
+ case 17: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readSFixed64();
+ break;
+ }
+ case 25: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readSFixed64();
+ break;
+ }
+ case 33: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readSFixed64();
+ break;
+ }
+ case 41: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readSFixed64();
+ break;
+ }
+ case 49: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readSFixed64());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readSFixed64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 57: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readSFixed64());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readSFixed64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.SFixed64Rules.class, io.grpc.xds.shaded.validate.SFixed64Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private long const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private long lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private long lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private long gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private long gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Long> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Long> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeSFixed64(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeSFixed64(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeSFixed64(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeSFixed64(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeSFixed64(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeSFixed64(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeSFixed64(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed64Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed64Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed64Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed64Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSFixed64Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ dataSize = 8 * getInList().size();
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ dataSize = 8 * getNotInList().size();
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.SFixed64Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.SFixed64Rules other = (io.grpc.xds.shaded.validate.SFixed64Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getConst());
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLt());
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLte());
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGt());
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGte());
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SFixed64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.SFixed64Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * SFixed64Rules describes the constraints applied to `sfixed64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.SFixed64Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.SFixed64Rules)
+ io.grpc.xds.shaded.validate.SFixed64RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.SFixed64Rules.class, io.grpc.xds.shaded.validate.SFixed64Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.SFixed64Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SFixed64Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.SFixed64Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.SFixed64Rules build() {
+ io.grpc.xds.shaded.validate.SFixed64Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.SFixed64Rules buildPartial() {
+ io.grpc.xds.shaded.validate.SFixed64Rules result = new io.grpc.xds.shaded.validate.SFixed64Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.SFixed64Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.SFixed64Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.SFixed64Rules other) {
+ if (other == io.grpc.xds.shaded.validate.SFixed64Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.SFixed64Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.SFixed64Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private long const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed64 const = 1;</code>
+ */
+ public Builder setConst(long value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed64 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lt = 2;</code>
+ */
+ public Builder setLt(long value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lte = 3;</code>
+ */
+ public Builder setLte(long value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gt = 4;</code>
+ */
+ public Builder setGt(long value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gte = 5;</code>
+ */
+ public Builder setGte(long value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, long value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public Builder addIn(long value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, long value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public Builder addNotIn(long value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.SFixed64Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.SFixed64Rules)
+ private static final io.grpc.xds.shaded.validate.SFixed64Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.SFixed64Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.SFixed64Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<SFixed64Rules>
+ PARSER = new com.google.protobuf.AbstractParser<SFixed64Rules>() {
+ public SFixed64Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SFixed64Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<SFixed64Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<SFixed64Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.SFixed64Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed64RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed64RulesOrBuilder.java
new file mode 100644
index 000000000..b501a10fd
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SFixed64RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface SFixed64RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.SFixed64Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed64 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sfixed64 const = 1;</code>
+ */
+ long getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lt = 2;</code>
+ */
+ long getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sfixed64 lte = 3;</code>
+ */
+ long getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gt = 4;</code>
+ */
+ long getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sfixed64 gte = 5;</code>
+ */
+ long getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ java.util.List<java.lang.Long> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 in = 6;</code>
+ */
+ long getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Long> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sfixed64 not_in = 7;</code>
+ */
+ long getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt32Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt32Rules.java
new file mode 100644
index 000000000..0587607be
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt32Rules.java
@@ -0,0 +1,1344 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * SInt32Rules describes the constraints applied to `sint32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.SInt32Rules}
+ */
+public final class SInt32Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.SInt32Rules)
+ SInt32RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use SInt32Rules.newBuilder() to construct.
+ private SInt32Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private SInt32Rules() {
+ const_ = 0;
+ lt_ = 0;
+ lte_ = 0;
+ gt_ = 0;
+ gte_ = 0;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SInt32Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readSInt32();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readSInt32();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readSInt32();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readSInt32();
+ break;
+ }
+ case 40: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readSInt32();
+ break;
+ }
+ case 48: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readSInt32());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readSInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 56: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readSInt32());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readSInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.SInt32Rules.class, io.grpc.xds.shaded.validate.SInt32Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private int const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private int lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private int lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private int gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private int gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Integer> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Integer> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeSInt32(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeSInt32(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeSInt32(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeSInt32(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeSInt32(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeSInt32(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeSInt32(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt32Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt32Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt32Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt32Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt32Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeSInt32SizeNoTag(in_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeSInt32SizeNoTag(notIn_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.SInt32Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.SInt32Rules other = (io.grpc.xds.shaded.validate.SInt32Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst();
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + getLt();
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + getLte();
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + getGt();
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + getGte();
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SInt32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.SInt32Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * SInt32Rules describes the constraints applied to `sint32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.SInt32Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.SInt32Rules)
+ io.grpc.xds.shaded.validate.SInt32RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.SInt32Rules.class, io.grpc.xds.shaded.validate.SInt32Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.SInt32Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt32Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.SInt32Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.SInt32Rules build() {
+ io.grpc.xds.shaded.validate.SInt32Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.SInt32Rules buildPartial() {
+ io.grpc.xds.shaded.validate.SInt32Rules result = new io.grpc.xds.shaded.validate.SInt32Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.SInt32Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.SInt32Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.SInt32Rules other) {
+ if (other == io.grpc.xds.shaded.validate.SInt32Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.SInt32Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.SInt32Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint32 const = 1;</code>
+ */
+ public Builder setConst(int value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint32 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint32 lt = 2;</code>
+ */
+ public Builder setLt(int value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint32 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint32 lte = 3;</code>
+ */
+ public Builder setLte(int value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint32 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gt = 4;</code>
+ */
+ public Builder setGt(int value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gte = 5;</code>
+ */
+ public Builder setGte(int value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, int value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public Builder addIn(int value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, int value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public Builder addNotIn(int value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.SInt32Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.SInt32Rules)
+ private static final io.grpc.xds.shaded.validate.SInt32Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.SInt32Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.SInt32Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<SInt32Rules>
+ PARSER = new com.google.protobuf.AbstractParser<SInt32Rules>() {
+ public SInt32Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SInt32Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<SInt32Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<SInt32Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.SInt32Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt32RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt32RulesOrBuilder.java
new file mode 100644
index 000000000..6e87beb5d
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt32RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface SInt32RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.SInt32Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint32 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint32 const = 1;</code>
+ */
+ int getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint32 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint32 lt = 2;</code>
+ */
+ int getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint32 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint32 lte = 3;</code>
+ */
+ int getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gt = 4;</code>
+ */
+ int getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint32 gte = 5;</code>
+ */
+ int getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ java.util.List<java.lang.Integer> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 in = 6;</code>
+ */
+ int getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Integer> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint32 not_in = 7;</code>
+ */
+ int getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt64Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt64Rules.java
new file mode 100644
index 000000000..9a8f11509
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt64Rules.java
@@ -0,0 +1,1349 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * SInt64Rules describes the constraints applied to `sint64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.SInt64Rules}
+ */
+public final class SInt64Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.SInt64Rules)
+ SInt64RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use SInt64Rules.newBuilder() to construct.
+ private SInt64Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private SInt64Rules() {
+ const_ = 0L;
+ lt_ = 0L;
+ lte_ = 0L;
+ gt_ = 0L;
+ gte_ = 0L;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private SInt64Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readSInt64();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readSInt64();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readSInt64();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readSInt64();
+ break;
+ }
+ case 40: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readSInt64();
+ break;
+ }
+ case 48: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readSInt64());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readSInt64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 56: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readSInt64());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readSInt64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.SInt64Rules.class, io.grpc.xds.shaded.validate.SInt64Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private long const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private long lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private long lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private long gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private long gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Long> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Long> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeSInt64(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeSInt64(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeSInt64(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeSInt64(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeSInt64(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeSInt64(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeSInt64(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt64Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt64Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt64Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt64Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeSInt64Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeSInt64SizeNoTag(in_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeSInt64SizeNoTag(notIn_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.SInt64Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.SInt64Rules other = (io.grpc.xds.shaded.validate.SInt64Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getConst());
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLt());
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLte());
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGt());
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGte());
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.SInt64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.SInt64Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * SInt64Rules describes the constraints applied to `sint64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.SInt64Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.SInt64Rules)
+ io.grpc.xds.shaded.validate.SInt64RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.SInt64Rules.class, io.grpc.xds.shaded.validate.SInt64Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.SInt64Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_SInt64Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.SInt64Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.SInt64Rules build() {
+ io.grpc.xds.shaded.validate.SInt64Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.SInt64Rules buildPartial() {
+ io.grpc.xds.shaded.validate.SInt64Rules result = new io.grpc.xds.shaded.validate.SInt64Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.SInt64Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.SInt64Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.SInt64Rules other) {
+ if (other == io.grpc.xds.shaded.validate.SInt64Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.SInt64Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.SInt64Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private long const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint64 const = 1;</code>
+ */
+ public Builder setConst(long value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint64 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint64 lt = 2;</code>
+ */
+ public Builder setLt(long value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint64 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint64 lte = 3;</code>
+ */
+ public Builder setLte(long value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint64 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gt = 4;</code>
+ */
+ public Builder setGt(long value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gte = 5;</code>
+ */
+ public Builder setGte(long value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, long value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public Builder addIn(long value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, long value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public Builder addNotIn(long value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.SInt64Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.SInt64Rules)
+ private static final io.grpc.xds.shaded.validate.SInt64Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.SInt64Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.SInt64Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<SInt64Rules>
+ PARSER = new com.google.protobuf.AbstractParser<SInt64Rules>() {
+ public SInt64Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new SInt64Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<SInt64Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<SInt64Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.SInt64Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt64RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt64RulesOrBuilder.java
new file mode 100644
index 000000000..31bee025b
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/SInt64RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface SInt64RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.SInt64Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint64 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional sint64 const = 1;</code>
+ */
+ long getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint64 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional sint64 lt = 2;</code>
+ */
+ long getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint64 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional sint64 lte = 3;</code>
+ */
+ long getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gt = 4;</code>
+ */
+ long getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional sint64 gte = 5;</code>
+ */
+ long getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ java.util.List<java.lang.Long> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 in = 6;</code>
+ */
+ long getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Long> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated sint64 not_in = 7;</code>
+ */
+ long getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/StringRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/StringRules.java
new file mode 100644
index 000000000..6070d4c58
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/StringRules.java
@@ -0,0 +1,3171 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * StringRules describe the constraints applied to `string` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.StringRules}
+ */
+public final class StringRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.StringRules)
+ StringRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use StringRules.newBuilder() to construct.
+ private StringRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private StringRules() {
+ const_ = "";
+ minLen_ = 0L;
+ maxLen_ = 0L;
+ minBytes_ = 0L;
+ maxBytes_ = 0L;
+ pattern_ = "";
+ prefix_ = "";
+ suffix_ = "";
+ contains_ = "";
+ in_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ notIn_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private StringRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 10: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ bitField0_ |= 0x00000001;
+ const_ = bs;
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ minLen_ = input.readUInt64();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ maxLen_ = input.readUInt64();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ minBytes_ = input.readUInt64();
+ break;
+ }
+ case 40: {
+ bitField0_ |= 0x00000010;
+ maxBytes_ = input.readUInt64();
+ break;
+ }
+ case 50: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ bitField0_ |= 0x00000020;
+ pattern_ = bs;
+ break;
+ }
+ case 58: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ bitField0_ |= 0x00000040;
+ prefix_ = bs;
+ break;
+ }
+ case 66: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ bitField0_ |= 0x00000080;
+ suffix_ = bs;
+ break;
+ }
+ case 74: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ bitField0_ |= 0x00000100;
+ contains_ = bs;
+ break;
+ }
+ case 82: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ if (!((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
+ in_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000200;
+ }
+ in_.add(bs);
+ break;
+ }
+ case 90: {
+ com.google.protobuf.ByteString bs = input.readBytes();
+ if (!((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
+ notIn_ = new com.google.protobuf.LazyStringArrayList();
+ mutable_bitField0_ |= 0x00000400;
+ }
+ notIn_.add(bs);
+ break;
+ }
+ case 96: {
+ wellKnownCase_ = 12;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ case 104: {
+ wellKnownCase_ = 13;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ case 112: {
+ wellKnownCase_ = 14;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ case 120: {
+ wellKnownCase_ = 15;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ case 128: {
+ wellKnownCase_ = 16;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ case 136: {
+ wellKnownCase_ = 17;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ case 144: {
+ wellKnownCase_ = 18;
+ wellKnown_ = input.readBool();
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000200) == 0x00000200)) {
+ in_ = in_.getUnmodifiableView();
+ }
+ if (((mutable_bitField0_ & 0x00000400) == 0x00000400)) {
+ notIn_ = notIn_.getUnmodifiableView();
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_StringRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_StringRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.StringRules.class, io.grpc.xds.shaded.validate.StringRules.Builder.class);
+ }
+
+ private int bitField0_;
+ private int wellKnownCase_ = 0;
+ private java.lang.Object wellKnown_;
+ public enum WellKnownCase
+ implements com.google.protobuf.Internal.EnumLite {
+ EMAIL(12),
+ HOSTNAME(13),
+ IP(14),
+ IPV4(15),
+ IPV6(16),
+ URI(17),
+ URI_REF(18),
+ WELLKNOWN_NOT_SET(0);
+ private final int value;
+ private WellKnownCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static WellKnownCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static WellKnownCase forNumber(int value) {
+ switch (value) {
+ case 12: return EMAIL;
+ case 13: return HOSTNAME;
+ case 14: return IP;
+ case 15: return IPV4;
+ case 16: return IPV6;
+ case 17: return URI;
+ case 18: return URI_REF;
+ case 0: return WELLKNOWN_NOT_SET;
+ default: return null;
+ }
+ }
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public WellKnownCase
+ getWellKnownCase() {
+ return WellKnownCase.forNumber(
+ wellKnownCase_);
+ }
+
+ public static final int CONST_FIELD_NUMBER = 1;
+ private volatile java.lang.Object const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public java.lang.String getConst() {
+ java.lang.Object ref = const_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ const_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getConstBytes() {
+ java.lang.Object ref = const_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ const_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int MIN_LEN_FIELD_NUMBER = 2;
+ private long minLen_;
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a minimum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public boolean hasMinLen() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a minimum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public long getMinLen() {
+ return minLen_;
+ }
+
+ public static final int MAX_LEN_FIELD_NUMBER = 3;
+ private long maxLen_;
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a maximum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public boolean hasMaxLen() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a maximum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public long getMaxLen() {
+ return maxLen_;
+ }
+
+ public static final int MIN_BYTES_FIELD_NUMBER = 4;
+ private long minBytes_;
+ /**
+ * <pre>
+ * MinBytes specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_bytes = 4;</code>
+ */
+ public boolean hasMinBytes() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * MinBytes specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_bytes = 4;</code>
+ */
+ public long getMinBytes() {
+ return minBytes_;
+ }
+
+ public static final int MAX_BYTES_FIELD_NUMBER = 5;
+ private long maxBytes_;
+ /**
+ * <pre>
+ * MaxBytes specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_bytes = 5;</code>
+ */
+ public boolean hasMaxBytes() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * MaxBytes specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_bytes = 5;</code>
+ */
+ public long getMaxBytes() {
+ return maxBytes_;
+ }
+
+ public static final int PATTERN_FIELD_NUMBER = 6;
+ private volatile java.lang.Object pattern_;
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public boolean hasPattern() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public java.lang.String getPattern() {
+ java.lang.Object ref = pattern_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ pattern_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public com.google.protobuf.ByteString
+ getPatternBytes() {
+ java.lang.Object ref = pattern_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ pattern_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int PREFIX_FIELD_NUMBER = 7;
+ private volatile java.lang.Object prefix_;
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public boolean hasPrefix() {
+ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public java.lang.String getPrefix() {
+ java.lang.Object ref = prefix_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ prefix_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public com.google.protobuf.ByteString
+ getPrefixBytes() {
+ java.lang.Object ref = prefix_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ prefix_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int SUFFIX_FIELD_NUMBER = 8;
+ private volatile java.lang.Object suffix_;
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public boolean hasSuffix() {
+ return ((bitField0_ & 0x00000080) == 0x00000080);
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public java.lang.String getSuffix() {
+ java.lang.Object ref = suffix_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ suffix_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public com.google.protobuf.ByteString
+ getSuffixBytes() {
+ java.lang.Object ref = suffix_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ suffix_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int CONTAINS_FIELD_NUMBER = 9;
+ private volatile java.lang.Object contains_;
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public boolean hasContains() {
+ return ((bitField0_ & 0x00000100) == 0x00000100);
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public java.lang.String getContains() {
+ java.lang.Object ref = contains_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ contains_ = s;
+ }
+ return s;
+ }
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public com.google.protobuf.ByteString
+ getContainsBytes() {
+ java.lang.Object ref = contains_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ contains_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int IN_FIELD_NUMBER = 10;
+ private com.google.protobuf.LazyStringList in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public java.lang.String getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public com.google.protobuf.ByteString
+ getInBytes(int index) {
+ return in_.getByteString(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 11;
+ private com.google.protobuf.LazyStringList notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public java.lang.String getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNotInBytes(int index) {
+ return notIn_.getByteString(index);
+ }
+
+ public static final int EMAIL_FIELD_NUMBER = 12;
+ /**
+ * <pre>
+ * Email specifies that the field must be a valid email address as
+ * defined by RFC 5322
+ * </pre>
+ *
+ * <code>optional bool email = 12;</code>
+ */
+ public boolean hasEmail() {
+ return wellKnownCase_ == 12;
+ }
+ /**
+ * <pre>
+ * Email specifies that the field must be a valid email address as
+ * defined by RFC 5322
+ * </pre>
+ *
+ * <code>optional bool email = 12;</code>
+ */
+ public boolean getEmail() {
+ if (wellKnownCase_ == 12) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ public static final int HOSTNAME_FIELD_NUMBER = 13;
+ /**
+ * <pre>
+ * Hostname specifies that the field must be a valid hostname as
+ * defined by RFC 1034. This constraint does not support
+ * internationalized domain names (IDNs).
+ * </pre>
+ *
+ * <code>optional bool hostname = 13;</code>
+ */
+ public boolean hasHostname() {
+ return wellKnownCase_ == 13;
+ }
+ /**
+ * <pre>
+ * Hostname specifies that the field must be a valid hostname as
+ * defined by RFC 1034. This constraint does not support
+ * internationalized domain names (IDNs).
+ * </pre>
+ *
+ * <code>optional bool hostname = 13;</code>
+ */
+ public boolean getHostname() {
+ if (wellKnownCase_ == 13) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ public static final int IP_FIELD_NUMBER = 14;
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
+ * Valid IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ip = 14;</code>
+ */
+ public boolean hasIp() {
+ return wellKnownCase_ == 14;
+ }
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
+ * Valid IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ip = 14;</code>
+ */
+ public boolean getIp() {
+ if (wellKnownCase_ == 14) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ public static final int IPV4_FIELD_NUMBER = 15;
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address.
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 15;</code>
+ */
+ public boolean hasIpv4() {
+ return wellKnownCase_ == 15;
+ }
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address.
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 15;</code>
+ */
+ public boolean getIpv4() {
+ if (wellKnownCase_ == 15) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ public static final int IPV6_FIELD_NUMBER = 16;
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ * IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 16;</code>
+ */
+ public boolean hasIpv6() {
+ return wellKnownCase_ == 16;
+ }
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ * IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 16;</code>
+ */
+ public boolean getIpv6() {
+ if (wellKnownCase_ == 16) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ public static final int URI_FIELD_NUMBER = 17;
+ /**
+ * <pre>
+ * Uri specifies that the field must be a valid, absolute URI as defined
+ * by RFC 3986
+ * </pre>
+ *
+ * <code>optional bool uri = 17;</code>
+ */
+ public boolean hasUri() {
+ return wellKnownCase_ == 17;
+ }
+ /**
+ * <pre>
+ * Uri specifies that the field must be a valid, absolute URI as defined
+ * by RFC 3986
+ * </pre>
+ *
+ * <code>optional bool uri = 17;</code>
+ */
+ public boolean getUri() {
+ if (wellKnownCase_ == 17) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ public static final int URI_REF_FIELD_NUMBER = 18;
+ /**
+ * <pre>
+ * UriRef specifies that the field must be a valid URI as defined by RFC
+ * 3986 and may be relative or absolute.
+ * </pre>
+ *
+ * <code>optional bool uri_ref = 18;</code>
+ */
+ public boolean hasUriRef() {
+ return wellKnownCase_ == 18;
+ }
+ /**
+ * <pre>
+ * UriRef specifies that the field must be a valid URI as defined by RFC
+ * 3986 and may be relative or absolute.
+ * </pre>
+ *
+ * <code>optional bool uri_ref = 18;</code>
+ */
+ public boolean getUriRef() {
+ if (wellKnownCase_ == 18) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeUInt64(2, minLen_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeUInt64(3, maxLen_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeUInt64(4, minBytes_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeUInt64(5, maxBytes_);
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 6, pattern_);
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 7, prefix_);
+ }
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 8, suffix_);
+ }
+ if (((bitField0_ & 0x00000100) == 0x00000100)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 9, contains_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 10, in_.getRaw(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 11, notIn_.getRaw(i));
+ }
+ if (wellKnownCase_ == 12) {
+ output.writeBool(
+ 12, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 13) {
+ output.writeBool(
+ 13, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 14) {
+ output.writeBool(
+ 14, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 15) {
+ output.writeBool(
+ 15, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 16) {
+ output.writeBool(
+ 16, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 17) {
+ output.writeBool(
+ 17, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 18) {
+ output.writeBool(
+ 18, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, minLen_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(3, maxLen_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(4, minBytes_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(5, maxBytes_);
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, pattern_);
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, prefix_);
+ }
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, suffix_);
+ }
+ if (((bitField0_ & 0x00000100) == 0x00000100)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, contains_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += computeStringSizeNoTag(in_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += computeStringSizeNoTag(notIn_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ if (wellKnownCase_ == 12) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 12, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 13) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 13, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 14) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 14, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 15) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 15, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 16) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 16, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 17) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 17, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ if (wellKnownCase_ == 18) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(
+ 18, (boolean)((java.lang.Boolean) wellKnown_));
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.StringRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.StringRules other = (io.grpc.xds.shaded.validate.StringRules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && getConst()
+ .equals(other.getConst());
+ }
+ result = result && (hasMinLen() == other.hasMinLen());
+ if (hasMinLen()) {
+ result = result && (getMinLen()
+ == other.getMinLen());
+ }
+ result = result && (hasMaxLen() == other.hasMaxLen());
+ if (hasMaxLen()) {
+ result = result && (getMaxLen()
+ == other.getMaxLen());
+ }
+ result = result && (hasMinBytes() == other.hasMinBytes());
+ if (hasMinBytes()) {
+ result = result && (getMinBytes()
+ == other.getMinBytes());
+ }
+ result = result && (hasMaxBytes() == other.hasMaxBytes());
+ if (hasMaxBytes()) {
+ result = result && (getMaxBytes()
+ == other.getMaxBytes());
+ }
+ result = result && (hasPattern() == other.hasPattern());
+ if (hasPattern()) {
+ result = result && getPattern()
+ .equals(other.getPattern());
+ }
+ result = result && (hasPrefix() == other.hasPrefix());
+ if (hasPrefix()) {
+ result = result && getPrefix()
+ .equals(other.getPrefix());
+ }
+ result = result && (hasSuffix() == other.hasSuffix());
+ if (hasSuffix()) {
+ result = result && getSuffix()
+ .equals(other.getSuffix());
+ }
+ result = result && (hasContains() == other.hasContains());
+ if (hasContains()) {
+ result = result && getContains()
+ .equals(other.getContains());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && getWellKnownCase().equals(
+ other.getWellKnownCase());
+ if (!result) return false;
+ switch (wellKnownCase_) {
+ case 12:
+ result = result && (getEmail()
+ == other.getEmail());
+ break;
+ case 13:
+ result = result && (getHostname()
+ == other.getHostname());
+ break;
+ case 14:
+ result = result && (getIp()
+ == other.getIp());
+ break;
+ case 15:
+ result = result && (getIpv4()
+ == other.getIpv4());
+ break;
+ case 16:
+ result = result && (getIpv6()
+ == other.getIpv6());
+ break;
+ case 17:
+ result = result && (getUri()
+ == other.getUri());
+ break;
+ case 18:
+ result = result && (getUriRef()
+ == other.getUriRef());
+ break;
+ case 0:
+ default:
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst().hashCode();
+ }
+ if (hasMinLen()) {
+ hash = (37 * hash) + MIN_LEN_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMinLen());
+ }
+ if (hasMaxLen()) {
+ hash = (37 * hash) + MAX_LEN_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMaxLen());
+ }
+ if (hasMinBytes()) {
+ hash = (37 * hash) + MIN_BYTES_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMinBytes());
+ }
+ if (hasMaxBytes()) {
+ hash = (37 * hash) + MAX_BYTES_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getMaxBytes());
+ }
+ if (hasPattern()) {
+ hash = (37 * hash) + PATTERN_FIELD_NUMBER;
+ hash = (53 * hash) + getPattern().hashCode();
+ }
+ if (hasPrefix()) {
+ hash = (37 * hash) + PREFIX_FIELD_NUMBER;
+ hash = (53 * hash) + getPrefix().hashCode();
+ }
+ if (hasSuffix()) {
+ hash = (37 * hash) + SUFFIX_FIELD_NUMBER;
+ hash = (53 * hash) + getSuffix().hashCode();
+ }
+ if (hasContains()) {
+ hash = (37 * hash) + CONTAINS_FIELD_NUMBER;
+ hash = (53 * hash) + getContains().hashCode();
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ switch (wellKnownCase_) {
+ case 12:
+ hash = (37 * hash) + EMAIL_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getEmail());
+ break;
+ case 13:
+ hash = (37 * hash) + HOSTNAME_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getHostname());
+ break;
+ case 14:
+ hash = (37 * hash) + IP_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getIp());
+ break;
+ case 15:
+ hash = (37 * hash) + IPV4_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getIpv4());
+ break;
+ case 16:
+ hash = (37 * hash) + IPV6_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getIpv6());
+ break;
+ case 17:
+ hash = (37 * hash) + URI_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getUri());
+ break;
+ case 18:
+ hash = (37 * hash) + URI_REF_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getUriRef());
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.StringRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.StringRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * StringRules describe the constraints applied to `string` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.StringRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.StringRules)
+ io.grpc.xds.shaded.validate.StringRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_StringRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_StringRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.StringRules.class, io.grpc.xds.shaded.validate.StringRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.StringRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = "";
+ bitField0_ = (bitField0_ & ~0x00000001);
+ minLen_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ maxLen_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ minBytes_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ maxBytes_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ pattern_ = "";
+ bitField0_ = (bitField0_ & ~0x00000020);
+ prefix_ = "";
+ bitField0_ = (bitField0_ & ~0x00000040);
+ suffix_ = "";
+ bitField0_ = (bitField0_ & ~0x00000080);
+ contains_ = "";
+ bitField0_ = (bitField0_ & ~0x00000100);
+ in_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000200);
+ notIn_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000400);
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_StringRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.StringRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.StringRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.StringRules build() {
+ io.grpc.xds.shaded.validate.StringRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.StringRules buildPartial() {
+ io.grpc.xds.shaded.validate.StringRules result = new io.grpc.xds.shaded.validate.StringRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.minLen_ = minLen_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.maxLen_ = maxLen_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.minBytes_ = minBytes_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.maxBytes_ = maxBytes_;
+ if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
+ to_bitField0_ |= 0x00000020;
+ }
+ result.pattern_ = pattern_;
+ if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
+ to_bitField0_ |= 0x00000040;
+ }
+ result.prefix_ = prefix_;
+ if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
+ to_bitField0_ |= 0x00000080;
+ }
+ result.suffix_ = suffix_;
+ if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
+ to_bitField0_ |= 0x00000100;
+ }
+ result.contains_ = contains_;
+ if (((bitField0_ & 0x00000200) == 0x00000200)) {
+ in_ = in_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000200);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000400) == 0x00000400)) {
+ notIn_ = notIn_.getUnmodifiableView();
+ bitField0_ = (bitField0_ & ~0x00000400);
+ }
+ result.notIn_ = notIn_;
+ if (wellKnownCase_ == 12) {
+ result.wellKnown_ = wellKnown_;
+ }
+ if (wellKnownCase_ == 13) {
+ result.wellKnown_ = wellKnown_;
+ }
+ if (wellKnownCase_ == 14) {
+ result.wellKnown_ = wellKnown_;
+ }
+ if (wellKnownCase_ == 15) {
+ result.wellKnown_ = wellKnown_;
+ }
+ if (wellKnownCase_ == 16) {
+ result.wellKnown_ = wellKnown_;
+ }
+ if (wellKnownCase_ == 17) {
+ result.wellKnown_ = wellKnown_;
+ }
+ if (wellKnownCase_ == 18) {
+ result.wellKnown_ = wellKnown_;
+ }
+ result.bitField0_ = to_bitField0_;
+ result.wellKnownCase_ = wellKnownCase_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.StringRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.StringRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.StringRules other) {
+ if (other == io.grpc.xds.shaded.validate.StringRules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ bitField0_ |= 0x00000001;
+ const_ = other.const_;
+ onChanged();
+ }
+ if (other.hasMinLen()) {
+ setMinLen(other.getMinLen());
+ }
+ if (other.hasMaxLen()) {
+ setMaxLen(other.getMaxLen());
+ }
+ if (other.hasMinBytes()) {
+ setMinBytes(other.getMinBytes());
+ }
+ if (other.hasMaxBytes()) {
+ setMaxBytes(other.getMaxBytes());
+ }
+ if (other.hasPattern()) {
+ bitField0_ |= 0x00000020;
+ pattern_ = other.pattern_;
+ onChanged();
+ }
+ if (other.hasPrefix()) {
+ bitField0_ |= 0x00000040;
+ prefix_ = other.prefix_;
+ onChanged();
+ }
+ if (other.hasSuffix()) {
+ bitField0_ |= 0x00000080;
+ suffix_ = other.suffix_;
+ onChanged();
+ }
+ if (other.hasContains()) {
+ bitField0_ |= 0x00000100;
+ contains_ = other.contains_;
+ onChanged();
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000200);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000400);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ switch (other.getWellKnownCase()) {
+ case EMAIL: {
+ setEmail(other.getEmail());
+ break;
+ }
+ case HOSTNAME: {
+ setHostname(other.getHostname());
+ break;
+ }
+ case IP: {
+ setIp(other.getIp());
+ break;
+ }
+ case IPV4: {
+ setIpv4(other.getIpv4());
+ break;
+ }
+ case IPV6: {
+ setIpv6(other.getIpv6());
+ break;
+ }
+ case URI: {
+ setUri(other.getUri());
+ break;
+ }
+ case URI_REF: {
+ setUriRef(other.getUriRef());
+ break;
+ }
+ case WELLKNOWN_NOT_SET: {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.StringRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.StringRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int wellKnownCase_ = 0;
+ private java.lang.Object wellKnown_;
+ public WellKnownCase
+ getWellKnownCase() {
+ return WellKnownCase.forNumber(
+ wellKnownCase_);
+ }
+
+ public Builder clearWellKnown() {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ return this;
+ }
+
+ private int bitField0_;
+
+ private java.lang.Object const_ = "";
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public java.lang.String getConst() {
+ java.lang.Object ref = const_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ const_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public com.google.protobuf.ByteString
+ getConstBytes() {
+ java.lang.Object ref = const_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ const_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public Builder setConst(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = getDefaultInstance().getConst();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ public Builder setConstBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+
+ private long minLen_ ;
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a minimum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public boolean hasMinLen() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a minimum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public long getMinLen() {
+ return minLen_;
+ }
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a minimum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public Builder setMinLen(long value) {
+ bitField0_ |= 0x00000002;
+ minLen_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a minimum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ public Builder clearMinLen() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ minLen_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long maxLen_ ;
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a maximum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public boolean hasMaxLen() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a maximum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public long getMaxLen() {
+ return maxLen_;
+ }
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a maximum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public Builder setMaxLen(long value) {
+ bitField0_ |= 0x00000004;
+ maxLen_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a maximum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ public Builder clearMaxLen() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ maxLen_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long minBytes_ ;
+ /**
+ * <pre>
+ * MinBytes specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_bytes = 4;</code>
+ */
+ public boolean hasMinBytes() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * MinBytes specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_bytes = 4;</code>
+ */
+ public long getMinBytes() {
+ return minBytes_;
+ }
+ /**
+ * <pre>
+ * MinBytes specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_bytes = 4;</code>
+ */
+ public Builder setMinBytes(long value) {
+ bitField0_ |= 0x00000008;
+ minBytes_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MinBytes specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_bytes = 4;</code>
+ */
+ public Builder clearMinBytes() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ minBytes_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long maxBytes_ ;
+ /**
+ * <pre>
+ * MaxBytes specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_bytes = 5;</code>
+ */
+ public boolean hasMaxBytes() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * MaxBytes specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_bytes = 5;</code>
+ */
+ public long getMaxBytes() {
+ return maxBytes_;
+ }
+ /**
+ * <pre>
+ * MaxBytes specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_bytes = 5;</code>
+ */
+ public Builder setMaxBytes(long value) {
+ bitField0_ |= 0x00000010;
+ maxBytes_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * MaxBytes specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_bytes = 5;</code>
+ */
+ public Builder clearMaxBytes() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ maxBytes_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object pattern_ = "";
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public boolean hasPattern() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public java.lang.String getPattern() {
+ java.lang.Object ref = pattern_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ pattern_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public com.google.protobuf.ByteString
+ getPatternBytes() {
+ java.lang.Object ref = pattern_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ pattern_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public Builder setPattern(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000020;
+ pattern_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public Builder clearPattern() {
+ bitField0_ = (bitField0_ & ~0x00000020);
+ pattern_ = getDefaultInstance().getPattern();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ public Builder setPatternBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000020;
+ pattern_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object prefix_ = "";
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public boolean hasPrefix() {
+ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public java.lang.String getPrefix() {
+ java.lang.Object ref = prefix_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ prefix_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public com.google.protobuf.ByteString
+ getPrefixBytes() {
+ java.lang.Object ref = prefix_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ prefix_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public Builder setPrefix(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000040;
+ prefix_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public Builder clearPrefix() {
+ bitField0_ = (bitField0_ & ~0x00000040);
+ prefix_ = getDefaultInstance().getPrefix();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ public Builder setPrefixBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000040;
+ prefix_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object suffix_ = "";
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public boolean hasSuffix() {
+ return ((bitField0_ & 0x00000080) == 0x00000080);
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public java.lang.String getSuffix() {
+ java.lang.Object ref = suffix_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ suffix_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public com.google.protobuf.ByteString
+ getSuffixBytes() {
+ java.lang.Object ref = suffix_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ suffix_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public Builder setSuffix(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000080;
+ suffix_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public Builder clearSuffix() {
+ bitField0_ = (bitField0_ & ~0x00000080);
+ suffix_ = getDefaultInstance().getSuffix();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ public Builder setSuffixBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000080;
+ suffix_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object contains_ = "";
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public boolean hasContains() {
+ return ((bitField0_ & 0x00000100) == 0x00000100);
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public java.lang.String getContains() {
+ java.lang.Object ref = contains_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ if (bs.isValidUtf8()) {
+ contains_ = s;
+ }
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public com.google.protobuf.ByteString
+ getContainsBytes() {
+ java.lang.Object ref = contains_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ contains_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public Builder setContains(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000100;
+ contains_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public Builder clearContains() {
+ bitField0_ = (bitField0_ & ~0x00000100);
+ contains_ = getDefaultInstance().getContains();
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ public Builder setContainsBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bitField0_ |= 0x00000100;
+ contains_ = value;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList in_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000200) == 0x00000200)) {
+ in_ = new com.google.protobuf.LazyStringArrayList(in_);
+ bitField0_ |= 0x00000200;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getInList() {
+ return in_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public java.lang.String getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public com.google.protobuf.ByteString
+ getInBytes(int index) {
+ return in_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public Builder setIn(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public Builder addIn(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public Builder clearIn() {
+ in_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000200);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ public Builder addInBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringList notIn_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000400) == 0x00000400)) {
+ notIn_ = new com.google.protobuf.LazyStringArrayList(notIn_);
+ bitField0_ |= 0x00000400;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public com.google.protobuf.ProtocolStringList
+ getNotInList() {
+ return notIn_.getUnmodifiableView();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public java.lang.String getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public com.google.protobuf.ByteString
+ getNotInBytes(int index) {
+ return notIn_.getByteString(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public Builder setNotIn(
+ int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public Builder addNotIn(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<java.lang.String> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ bitField0_ = (bitField0_ & ~0x00000400);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ public Builder addNotInBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Email specifies that the field must be a valid email address as
+ * defined by RFC 5322
+ * </pre>
+ *
+ * <code>optional bool email = 12;</code>
+ */
+ public boolean hasEmail() {
+ return wellKnownCase_ == 12;
+ }
+ /**
+ * <pre>
+ * Email specifies that the field must be a valid email address as
+ * defined by RFC 5322
+ * </pre>
+ *
+ * <code>optional bool email = 12;</code>
+ */
+ public boolean getEmail() {
+ if (wellKnownCase_ == 12) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Email specifies that the field must be a valid email address as
+ * defined by RFC 5322
+ * </pre>
+ *
+ * <code>optional bool email = 12;</code>
+ */
+ public Builder setEmail(boolean value) {
+ wellKnownCase_ = 12;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Email specifies that the field must be a valid email address as
+ * defined by RFC 5322
+ * </pre>
+ *
+ * <code>optional bool email = 12;</code>
+ */
+ public Builder clearEmail() {
+ if (wellKnownCase_ == 12) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Hostname specifies that the field must be a valid hostname as
+ * defined by RFC 1034. This constraint does not support
+ * internationalized domain names (IDNs).
+ * </pre>
+ *
+ * <code>optional bool hostname = 13;</code>
+ */
+ public boolean hasHostname() {
+ return wellKnownCase_ == 13;
+ }
+ /**
+ * <pre>
+ * Hostname specifies that the field must be a valid hostname as
+ * defined by RFC 1034. This constraint does not support
+ * internationalized domain names (IDNs).
+ * </pre>
+ *
+ * <code>optional bool hostname = 13;</code>
+ */
+ public boolean getHostname() {
+ if (wellKnownCase_ == 13) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Hostname specifies that the field must be a valid hostname as
+ * defined by RFC 1034. This constraint does not support
+ * internationalized domain names (IDNs).
+ * </pre>
+ *
+ * <code>optional bool hostname = 13;</code>
+ */
+ public Builder setHostname(boolean value) {
+ wellKnownCase_ = 13;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Hostname specifies that the field must be a valid hostname as
+ * defined by RFC 1034. This constraint does not support
+ * internationalized domain names (IDNs).
+ * </pre>
+ *
+ * <code>optional bool hostname = 13;</code>
+ */
+ public Builder clearHostname() {
+ if (wellKnownCase_ == 13) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
+ * Valid IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ip = 14;</code>
+ */
+ public boolean hasIp() {
+ return wellKnownCase_ == 14;
+ }
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
+ * Valid IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ip = 14;</code>
+ */
+ public boolean getIp() {
+ if (wellKnownCase_ == 14) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
+ * Valid IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ip = 14;</code>
+ */
+ public Builder setIp(boolean value) {
+ wellKnownCase_ = 14;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
+ * Valid IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ip = 14;</code>
+ */
+ public Builder clearIp() {
+ if (wellKnownCase_ == 14) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address.
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 15;</code>
+ */
+ public boolean hasIpv4() {
+ return wellKnownCase_ == 15;
+ }
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address.
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 15;</code>
+ */
+ public boolean getIpv4() {
+ if (wellKnownCase_ == 15) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address.
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 15;</code>
+ */
+ public Builder setIpv4(boolean value) {
+ wellKnownCase_ = 15;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address.
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 15;</code>
+ */
+ public Builder clearIpv4() {
+ if (wellKnownCase_ == 15) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ * IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 16;</code>
+ */
+ public boolean hasIpv6() {
+ return wellKnownCase_ == 16;
+ }
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ * IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 16;</code>
+ */
+ public boolean getIpv6() {
+ if (wellKnownCase_ == 16) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ * IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 16;</code>
+ */
+ public Builder setIpv6(boolean value) {
+ wellKnownCase_ = 16;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ * IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 16;</code>
+ */
+ public Builder clearIpv6() {
+ if (wellKnownCase_ == 16) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * Uri specifies that the field must be a valid, absolute URI as defined
+ * by RFC 3986
+ * </pre>
+ *
+ * <code>optional bool uri = 17;</code>
+ */
+ public boolean hasUri() {
+ return wellKnownCase_ == 17;
+ }
+ /**
+ * <pre>
+ * Uri specifies that the field must be a valid, absolute URI as defined
+ * by RFC 3986
+ * </pre>
+ *
+ * <code>optional bool uri = 17;</code>
+ */
+ public boolean getUri() {
+ if (wellKnownCase_ == 17) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * Uri specifies that the field must be a valid, absolute URI as defined
+ * by RFC 3986
+ * </pre>
+ *
+ * <code>optional bool uri = 17;</code>
+ */
+ public Builder setUri(boolean value) {
+ wellKnownCase_ = 17;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Uri specifies that the field must be a valid, absolute URI as defined
+ * by RFC 3986
+ * </pre>
+ *
+ * <code>optional bool uri = 17;</code>
+ */
+ public Builder clearUri() {
+ if (wellKnownCase_ == 17) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ * <pre>
+ * UriRef specifies that the field must be a valid URI as defined by RFC
+ * 3986 and may be relative or absolute.
+ * </pre>
+ *
+ * <code>optional bool uri_ref = 18;</code>
+ */
+ public boolean hasUriRef() {
+ return wellKnownCase_ == 18;
+ }
+ /**
+ * <pre>
+ * UriRef specifies that the field must be a valid URI as defined by RFC
+ * 3986 and may be relative or absolute.
+ * </pre>
+ *
+ * <code>optional bool uri_ref = 18;</code>
+ */
+ public boolean getUriRef() {
+ if (wellKnownCase_ == 18) {
+ return (java.lang.Boolean) wellKnown_;
+ }
+ return false;
+ }
+ /**
+ * <pre>
+ * UriRef specifies that the field must be a valid URI as defined by RFC
+ * 3986 and may be relative or absolute.
+ * </pre>
+ *
+ * <code>optional bool uri_ref = 18;</code>
+ */
+ public Builder setUriRef(boolean value) {
+ wellKnownCase_ = 18;
+ wellKnown_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * UriRef specifies that the field must be a valid URI as defined by RFC
+ * 3986 and may be relative or absolute.
+ * </pre>
+ *
+ * <code>optional bool uri_ref = 18;</code>
+ */
+ public Builder clearUriRef() {
+ if (wellKnownCase_ == 18) {
+ wellKnownCase_ = 0;
+ wellKnown_ = null;
+ onChanged();
+ }
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.StringRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.StringRules)
+ private static final io.grpc.xds.shaded.validate.StringRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.StringRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.StringRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<StringRules>
+ PARSER = new com.google.protobuf.AbstractParser<StringRules>() {
+ public StringRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new StringRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<StringRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<StringRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.StringRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/StringRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/StringRulesOrBuilder.java
new file mode 100644
index 000000000..3585b7042
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/StringRulesOrBuilder.java
@@ -0,0 +1,447 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface StringRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.StringRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ java.lang.String getConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional string const = 1;</code>
+ */
+ com.google.protobuf.ByteString
+ getConstBytes();
+
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a minimum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ boolean hasMinLen();
+ /**
+ * <pre>
+ * MinLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a minimum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 min_len = 2;</code>
+ */
+ long getMinLen();
+
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a maximum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ boolean hasMaxLen();
+ /**
+ * <pre>
+ * MaxLen specifies that this field must be the specified number of
+ * characters (Unicode code points) at a maximum. Note that the number of
+ * characters may differ from the number of bytes in the string.
+ * </pre>
+ *
+ * <code>optional uint64 max_len = 3;</code>
+ */
+ long getMaxLen();
+
+ /**
+ * <pre>
+ * MinBytes specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_bytes = 4;</code>
+ */
+ boolean hasMinBytes();
+ /**
+ * <pre>
+ * MinBytes specifies that this field must be the specified number of bytes
+ * at a minimum
+ * </pre>
+ *
+ * <code>optional uint64 min_bytes = 4;</code>
+ */
+ long getMinBytes();
+
+ /**
+ * <pre>
+ * MaxBytes specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_bytes = 5;</code>
+ */
+ boolean hasMaxBytes();
+ /**
+ * <pre>
+ * MaxBytes specifies that this field must be the specified number of bytes
+ * at a maximum
+ * </pre>
+ *
+ * <code>optional uint64 max_bytes = 5;</code>
+ */
+ long getMaxBytes();
+
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ boolean hasPattern();
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ java.lang.String getPattern();
+ /**
+ * <pre>
+ * Pattern specifes that this field must match against the specified
+ * regular expression (RE2 syntax). The included expression should elide
+ * any delimiters.
+ * </pre>
+ *
+ * <code>optional string pattern = 6;</code>
+ */
+ com.google.protobuf.ByteString
+ getPatternBytes();
+
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ boolean hasPrefix();
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ java.lang.String getPrefix();
+ /**
+ * <pre>
+ * Prefix specifies that this field must have the specified substring at
+ * the beginning of the string.
+ * </pre>
+ *
+ * <code>optional string prefix = 7;</code>
+ */
+ com.google.protobuf.ByteString
+ getPrefixBytes();
+
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ boolean hasSuffix();
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ java.lang.String getSuffix();
+ /**
+ * <pre>
+ * Suffix specifies that this field must have the specified substring at
+ * the end of the string.
+ * </pre>
+ *
+ * <code>optional string suffix = 8;</code>
+ */
+ com.google.protobuf.ByteString
+ getSuffixBytes();
+
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ boolean hasContains();
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ java.lang.String getContains();
+ /**
+ * <pre>
+ * Contains specifies that this field must have the specified substring
+ * anywhere in the string.
+ * </pre>
+ *
+ * <code>optional string contains = 9;</code>
+ */
+ com.google.protobuf.ByteString
+ getContainsBytes();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ java.util.List<java.lang.String>
+ getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ java.lang.String getIn(int index);
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string in = 10;</code>
+ */
+ com.google.protobuf.ByteString
+ getInBytes(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ java.util.List<java.lang.String>
+ getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ java.lang.String getNotIn(int index);
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated string not_in = 11;</code>
+ */
+ com.google.protobuf.ByteString
+ getNotInBytes(int index);
+
+ /**
+ * <pre>
+ * Email specifies that the field must be a valid email address as
+ * defined by RFC 5322
+ * </pre>
+ *
+ * <code>optional bool email = 12;</code>
+ */
+ boolean hasEmail();
+ /**
+ * <pre>
+ * Email specifies that the field must be a valid email address as
+ * defined by RFC 5322
+ * </pre>
+ *
+ * <code>optional bool email = 12;</code>
+ */
+ boolean getEmail();
+
+ /**
+ * <pre>
+ * Hostname specifies that the field must be a valid hostname as
+ * defined by RFC 1034. This constraint does not support
+ * internationalized domain names (IDNs).
+ * </pre>
+ *
+ * <code>optional bool hostname = 13;</code>
+ */
+ boolean hasHostname();
+ /**
+ * <pre>
+ * Hostname specifies that the field must be a valid hostname as
+ * defined by RFC 1034. This constraint does not support
+ * internationalized domain names (IDNs).
+ * </pre>
+ *
+ * <code>optional bool hostname = 13;</code>
+ */
+ boolean getHostname();
+
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
+ * Valid IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ip = 14;</code>
+ */
+ boolean hasIp();
+ /**
+ * <pre>
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
+ * Valid IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ip = 14;</code>
+ */
+ boolean getIp();
+
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address.
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 15;</code>
+ */
+ boolean hasIpv4();
+ /**
+ * <pre>
+ * Ipv4 specifies that the field must be a valid IPv4 address.
+ * </pre>
+ *
+ * <code>optional bool ipv4 = 15;</code>
+ */
+ boolean getIpv4();
+
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ * IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 16;</code>
+ */
+ boolean hasIpv6();
+ /**
+ * <pre>
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ * IPv6 addresses should not include surrounding square brackets.
+ * </pre>
+ *
+ * <code>optional bool ipv6 = 16;</code>
+ */
+ boolean getIpv6();
+
+ /**
+ * <pre>
+ * Uri specifies that the field must be a valid, absolute URI as defined
+ * by RFC 3986
+ * </pre>
+ *
+ * <code>optional bool uri = 17;</code>
+ */
+ boolean hasUri();
+ /**
+ * <pre>
+ * Uri specifies that the field must be a valid, absolute URI as defined
+ * by RFC 3986
+ * </pre>
+ *
+ * <code>optional bool uri = 17;</code>
+ */
+ boolean getUri();
+
+ /**
+ * <pre>
+ * UriRef specifies that the field must be a valid URI as defined by RFC
+ * 3986 and may be relative or absolute.
+ * </pre>
+ *
+ * <code>optional bool uri_ref = 18;</code>
+ */
+ boolean hasUriRef();
+ /**
+ * <pre>
+ * UriRef specifies that the field must be a valid URI as defined by RFC
+ * 3986 and may be relative or absolute.
+ * </pre>
+ *
+ * <code>optional bool uri_ref = 18;</code>
+ */
+ boolean getUriRef();
+
+ public io.grpc.xds.shaded.validate.StringRules.WellKnownCase getWellKnownCase();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/TimestampRules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/TimestampRules.java
new file mode 100644
index 000000000..a85f63743
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/TimestampRules.java
@@ -0,0 +1,2201 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * TimestampRules describe the constraints applied exclusively to the
+ * `google.protobuf.Timestamp` well-known type
+ * </pre>
+ *
+ * Protobuf type {@code validate.TimestampRules}
+ */
+public final class TimestampRules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.TimestampRules)
+ TimestampRulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use TimestampRules.newBuilder() to construct.
+ private TimestampRules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private TimestampRules() {
+ required_ = false;
+ ltNow_ = false;
+ gtNow_ = false;
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private TimestampRules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ required_ = input.readBool();
+ break;
+ }
+ case 18: {
+ com.google.protobuf.Timestamp.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ subBuilder = const_.toBuilder();
+ }
+ const_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(const_);
+ const_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000002;
+ break;
+ }
+ case 26: {
+ com.google.protobuf.Timestamp.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ subBuilder = lt_.toBuilder();
+ }
+ lt_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(lt_);
+ lt_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000004;
+ break;
+ }
+ case 34: {
+ com.google.protobuf.Timestamp.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ subBuilder = lte_.toBuilder();
+ }
+ lte_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(lte_);
+ lte_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000008;
+ break;
+ }
+ case 42: {
+ com.google.protobuf.Timestamp.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ subBuilder = gt_.toBuilder();
+ }
+ gt_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(gt_);
+ gt_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000010;
+ break;
+ }
+ case 50: {
+ com.google.protobuf.Timestamp.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ subBuilder = gte_.toBuilder();
+ }
+ gte_ = input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(gte_);
+ gte_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000020;
+ break;
+ }
+ case 56: {
+ bitField0_ |= 0x00000040;
+ ltNow_ = input.readBool();
+ break;
+ }
+ case 64: {
+ bitField0_ |= 0x00000080;
+ gtNow_ = input.readBool();
+ break;
+ }
+ case 74: {
+ com.google.protobuf.Duration.Builder subBuilder = null;
+ if (((bitField0_ & 0x00000100) == 0x00000100)) {
+ subBuilder = within_.toBuilder();
+ }
+ within_ = input.readMessage(com.google.protobuf.Duration.parser(), extensionRegistry);
+ if (subBuilder != null) {
+ subBuilder.mergeFrom(within_);
+ within_ = subBuilder.buildPartial();
+ }
+ bitField0_ |= 0x00000100;
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_TimestampRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_TimestampRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.TimestampRules.class, io.grpc.xds.shaded.validate.TimestampRules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int REQUIRED_FIELD_NUMBER = 1;
+ private boolean required_;
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean hasRequired() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean getRequired() {
+ return required_;
+ }
+
+ public static final int CONST_FIELD_NUMBER = 2;
+ private com.google.protobuf.Timestamp const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public com.google.protobuf.Timestamp getConst() {
+ return const_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getConstOrBuilder() {
+ return const_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 3;
+ private com.google.protobuf.Timestamp lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public com.google.protobuf.Timestamp getLt() {
+ return lt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getLtOrBuilder() {
+ return lt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 4;
+ private com.google.protobuf.Timestamp lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public com.google.protobuf.Timestamp getLte() {
+ return lte_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getLteOrBuilder() {
+ return lte_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 5;
+ private com.google.protobuf.Timestamp gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public com.google.protobuf.Timestamp getGt() {
+ return gt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getGtOrBuilder() {
+ return gt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 6;
+ private com.google.protobuf.Timestamp gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public com.google.protobuf.Timestamp getGte() {
+ return gte_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getGteOrBuilder() {
+ return gte_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : gte_;
+ }
+
+ public static final int LT_NOW_FIELD_NUMBER = 7;
+ private boolean ltNow_;
+ /**
+ * <pre>
+ * LtNow specifies that this must be less than the current time. LtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool lt_now = 7;</code>
+ */
+ public boolean hasLtNow() {
+ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ /**
+ * <pre>
+ * LtNow specifies that this must be less than the current time. LtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool lt_now = 7;</code>
+ */
+ public boolean getLtNow() {
+ return ltNow_;
+ }
+
+ public static final int GT_NOW_FIELD_NUMBER = 8;
+ private boolean gtNow_;
+ /**
+ * <pre>
+ * GtNow specifies that this must be greater than the current time. GtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool gt_now = 8;</code>
+ */
+ public boolean hasGtNow() {
+ return ((bitField0_ & 0x00000080) == 0x00000080);
+ }
+ /**
+ * <pre>
+ * GtNow specifies that this must be greater than the current time. GtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool gt_now = 8;</code>
+ */
+ public boolean getGtNow() {
+ return gtNow_;
+ }
+
+ public static final int WITHIN_FIELD_NUMBER = 9;
+ private com.google.protobuf.Duration within_;
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public boolean hasWithin() {
+ return ((bitField0_ & 0x00000100) == 0x00000100);
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public com.google.protobuf.Duration getWithin() {
+ return within_ == null ? com.google.protobuf.Duration.getDefaultInstance() : within_;
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getWithinOrBuilder() {
+ return within_ == null ? com.google.protobuf.Duration.getDefaultInstance() : within_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeBool(1, required_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeMessage(2, getConst());
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeMessage(3, getLt());
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeMessage(4, getLte());
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeMessage(5, getGt());
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ output.writeMessage(6, getGte());
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ output.writeBool(7, ltNow_);
+ }
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ output.writeBool(8, gtNow_);
+ }
+ if (((bitField0_ & 0x00000100) == 0x00000100)) {
+ output.writeMessage(9, getWithin());
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(1, required_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(2, getConst());
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(3, getLt());
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(4, getLte());
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(5, getGt());
+ }
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(6, getGte());
+ }
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(7, ltNow_);
+ }
+ if (((bitField0_ & 0x00000080) == 0x00000080)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeBoolSize(8, gtNow_);
+ }
+ if (((bitField0_ & 0x00000100) == 0x00000100)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeMessageSize(9, getWithin());
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.TimestampRules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.TimestampRules other = (io.grpc.xds.shaded.validate.TimestampRules) obj;
+
+ boolean result = true;
+ result = result && (hasRequired() == other.hasRequired());
+ if (hasRequired()) {
+ result = result && (getRequired()
+ == other.getRequired());
+ }
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && getConst()
+ .equals(other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && getLt()
+ .equals(other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && getLte()
+ .equals(other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && getGt()
+ .equals(other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && getGte()
+ .equals(other.getGte());
+ }
+ result = result && (hasLtNow() == other.hasLtNow());
+ if (hasLtNow()) {
+ result = result && (getLtNow()
+ == other.getLtNow());
+ }
+ result = result && (hasGtNow() == other.hasGtNow());
+ if (hasGtNow()) {
+ result = result && (getGtNow()
+ == other.getGtNow());
+ }
+ result = result && (hasWithin() == other.hasWithin());
+ if (hasWithin()) {
+ result = result && getWithin()
+ .equals(other.getWithin());
+ }
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasRequired()) {
+ hash = (37 * hash) + REQUIRED_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getRequired());
+ }
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst().hashCode();
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + getLt().hashCode();
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + getLte().hashCode();
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + getGt().hashCode();
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + getGte().hashCode();
+ }
+ if (hasLtNow()) {
+ hash = (37 * hash) + LT_NOW_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getLtNow());
+ }
+ if (hasGtNow()) {
+ hash = (37 * hash) + GT_NOW_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+ getGtNow());
+ }
+ if (hasWithin()) {
+ hash = (37 * hash) + WITHIN_FIELD_NUMBER;
+ hash = (53 * hash) + getWithin().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.TimestampRules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.TimestampRules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * TimestampRules describe the constraints applied exclusively to the
+ * `google.protobuf.Timestamp` well-known type
+ * </pre>
+ *
+ * Protobuf type {@code validate.TimestampRules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.TimestampRules)
+ io.grpc.xds.shaded.validate.TimestampRulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_TimestampRules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_TimestampRules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.TimestampRules.class, io.grpc.xds.shaded.validate.TimestampRules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.TimestampRules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ getConstFieldBuilder();
+ getLtFieldBuilder();
+ getLteFieldBuilder();
+ getGtFieldBuilder();
+ getGteFieldBuilder();
+ getWithinFieldBuilder();
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ required_ = false;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ if (constBuilder_ == null) {
+ const_ = null;
+ } else {
+ constBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
+ if (ltBuilder_ == null) {
+ lt_ = null;
+ } else {
+ ltBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000004);
+ if (lteBuilder_ == null) {
+ lte_ = null;
+ } else {
+ lteBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ if (gtBuilder_ == null) {
+ gt_ = null;
+ } else {
+ gtBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ if (gteBuilder_ == null) {
+ gte_ = null;
+ } else {
+ gteBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000020);
+ ltNow_ = false;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ gtNow_ = false;
+ bitField0_ = (bitField0_ & ~0x00000080);
+ if (withinBuilder_ == null) {
+ within_ = null;
+ } else {
+ withinBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000100);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_TimestampRules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.TimestampRules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.TimestampRules build() {
+ io.grpc.xds.shaded.validate.TimestampRules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.TimestampRules buildPartial() {
+ io.grpc.xds.shaded.validate.TimestampRules result = new io.grpc.xds.shaded.validate.TimestampRules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.required_ = required_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ if (constBuilder_ == null) {
+ result.const_ = const_;
+ } else {
+ result.const_ = constBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ if (ltBuilder_ == null) {
+ result.lt_ = lt_;
+ } else {
+ result.lt_ = ltBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ if (lteBuilder_ == null) {
+ result.lte_ = lte_;
+ } else {
+ result.lte_ = lteBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ if (gtBuilder_ == null) {
+ result.gt_ = gt_;
+ } else {
+ result.gt_ = gtBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
+ to_bitField0_ |= 0x00000020;
+ }
+ if (gteBuilder_ == null) {
+ result.gte_ = gte_;
+ } else {
+ result.gte_ = gteBuilder_.build();
+ }
+ if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
+ to_bitField0_ |= 0x00000040;
+ }
+ result.ltNow_ = ltNow_;
+ if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
+ to_bitField0_ |= 0x00000080;
+ }
+ result.gtNow_ = gtNow_;
+ if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
+ to_bitField0_ |= 0x00000100;
+ }
+ if (withinBuilder_ == null) {
+ result.within_ = within_;
+ } else {
+ result.within_ = withinBuilder_.build();
+ }
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.TimestampRules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.TimestampRules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.TimestampRules other) {
+ if (other == io.grpc.xds.shaded.validate.TimestampRules.getDefaultInstance()) return this;
+ if (other.hasRequired()) {
+ setRequired(other.getRequired());
+ }
+ if (other.hasConst()) {
+ mergeConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ mergeLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ mergeLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ mergeGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ mergeGte(other.getGte());
+ }
+ if (other.hasLtNow()) {
+ setLtNow(other.getLtNow());
+ }
+ if (other.hasGtNow()) {
+ setGtNow(other.getGtNow());
+ }
+ if (other.hasWithin()) {
+ mergeWithin(other.getWithin());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.TimestampRules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.TimestampRules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private boolean required_ ;
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean hasRequired() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public boolean getRequired() {
+ return required_;
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public Builder setRequired(boolean value) {
+ bitField0_ |= 0x00000001;
+ required_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ public Builder clearRequired() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ required_ = false;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Timestamp const_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> constBuilder_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public com.google.protobuf.Timestamp getConst() {
+ if (constBuilder_ == null) {
+ return const_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : const_;
+ } else {
+ return constBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public Builder setConst(com.google.protobuf.Timestamp value) {
+ if (constBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ const_ = value;
+ onChanged();
+ } else {
+ constBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public Builder setConst(
+ com.google.protobuf.Timestamp.Builder builderForValue) {
+ if (constBuilder_ == null) {
+ const_ = builderForValue.build();
+ onChanged();
+ } else {
+ constBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public Builder mergeConst(com.google.protobuf.Timestamp value) {
+ if (constBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) == 0x00000002) &&
+ const_ != null &&
+ const_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
+ const_ =
+ com.google.protobuf.Timestamp.newBuilder(const_).mergeFrom(value).buildPartial();
+ } else {
+ const_ = value;
+ }
+ onChanged();
+ } else {
+ constBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000002;
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public Builder clearConst() {
+ if (constBuilder_ == null) {
+ const_ = null;
+ onChanged();
+ } else {
+ constBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000002);
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public com.google.protobuf.Timestamp.Builder getConstBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return getConstFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getConstOrBuilder() {
+ if (constBuilder_ != null) {
+ return constBuilder_.getMessageOrBuilder();
+ } else {
+ return const_ == null ?
+ com.google.protobuf.Timestamp.getDefaultInstance() : const_;
+ }
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>
+ getConstFieldBuilder() {
+ if (constBuilder_ == null) {
+ constBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
+ getConst(),
+ getParentForChildren(),
+ isClean());
+ const_ = null;
+ }
+ return constBuilder_;
+ }
+
+ private com.google.protobuf.Timestamp lt_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> ltBuilder_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public com.google.protobuf.Timestamp getLt() {
+ if (ltBuilder_ == null) {
+ return lt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lt_;
+ } else {
+ return ltBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public Builder setLt(com.google.protobuf.Timestamp value) {
+ if (ltBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ lt_ = value;
+ onChanged();
+ } else {
+ ltBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public Builder setLt(
+ com.google.protobuf.Timestamp.Builder builderForValue) {
+ if (ltBuilder_ == null) {
+ lt_ = builderForValue.build();
+ onChanged();
+ } else {
+ ltBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public Builder mergeLt(com.google.protobuf.Timestamp value) {
+ if (ltBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) == 0x00000004) &&
+ lt_ != null &&
+ lt_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
+ lt_ =
+ com.google.protobuf.Timestamp.newBuilder(lt_).mergeFrom(value).buildPartial();
+ } else {
+ lt_ = value;
+ }
+ onChanged();
+ } else {
+ ltBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000004;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public Builder clearLt() {
+ if (ltBuilder_ == null) {
+ lt_ = null;
+ onChanged();
+ } else {
+ ltBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000004);
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public com.google.protobuf.Timestamp.Builder getLtBuilder() {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return getLtFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getLtOrBuilder() {
+ if (ltBuilder_ != null) {
+ return ltBuilder_.getMessageOrBuilder();
+ } else {
+ return lt_ == null ?
+ com.google.protobuf.Timestamp.getDefaultInstance() : lt_;
+ }
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>
+ getLtFieldBuilder() {
+ if (ltBuilder_ == null) {
+ ltBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
+ getLt(),
+ getParentForChildren(),
+ isClean());
+ lt_ = null;
+ }
+ return ltBuilder_;
+ }
+
+ private com.google.protobuf.Timestamp lte_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> lteBuilder_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public com.google.protobuf.Timestamp getLte() {
+ if (lteBuilder_ == null) {
+ return lte_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : lte_;
+ } else {
+ return lteBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public Builder setLte(com.google.protobuf.Timestamp value) {
+ if (lteBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ lte_ = value;
+ onChanged();
+ } else {
+ lteBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public Builder setLte(
+ com.google.protobuf.Timestamp.Builder builderForValue) {
+ if (lteBuilder_ == null) {
+ lte_ = builderForValue.build();
+ onChanged();
+ } else {
+ lteBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public Builder mergeLte(com.google.protobuf.Timestamp value) {
+ if (lteBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) == 0x00000008) &&
+ lte_ != null &&
+ lte_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
+ lte_ =
+ com.google.protobuf.Timestamp.newBuilder(lte_).mergeFrom(value).buildPartial();
+ } else {
+ lte_ = value;
+ }
+ onChanged();
+ } else {
+ lteBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000008;
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public Builder clearLte() {
+ if (lteBuilder_ == null) {
+ lte_ = null;
+ onChanged();
+ } else {
+ lteBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000008);
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public com.google.protobuf.Timestamp.Builder getLteBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getLteFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getLteOrBuilder() {
+ if (lteBuilder_ != null) {
+ return lteBuilder_.getMessageOrBuilder();
+ } else {
+ return lte_ == null ?
+ com.google.protobuf.Timestamp.getDefaultInstance() : lte_;
+ }
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>
+ getLteFieldBuilder() {
+ if (lteBuilder_ == null) {
+ lteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
+ getLte(),
+ getParentForChildren(),
+ isClean());
+ lte_ = null;
+ }
+ return lteBuilder_;
+ }
+
+ private com.google.protobuf.Timestamp gt_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> gtBuilder_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public com.google.protobuf.Timestamp getGt() {
+ if (gtBuilder_ == null) {
+ return gt_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : gt_;
+ } else {
+ return gtBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public Builder setGt(com.google.protobuf.Timestamp value) {
+ if (gtBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ gt_ = value;
+ onChanged();
+ } else {
+ gtBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public Builder setGt(
+ com.google.protobuf.Timestamp.Builder builderForValue) {
+ if (gtBuilder_ == null) {
+ gt_ = builderForValue.build();
+ onChanged();
+ } else {
+ gtBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public Builder mergeGt(com.google.protobuf.Timestamp value) {
+ if (gtBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) == 0x00000010) &&
+ gt_ != null &&
+ gt_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
+ gt_ =
+ com.google.protobuf.Timestamp.newBuilder(gt_).mergeFrom(value).buildPartial();
+ } else {
+ gt_ = value;
+ }
+ onChanged();
+ } else {
+ gtBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000010;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public Builder clearGt() {
+ if (gtBuilder_ == null) {
+ gt_ = null;
+ onChanged();
+ } else {
+ gtBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000010);
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public com.google.protobuf.Timestamp.Builder getGtBuilder() {
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return getGtFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getGtOrBuilder() {
+ if (gtBuilder_ != null) {
+ return gtBuilder_.getMessageOrBuilder();
+ } else {
+ return gt_ == null ?
+ com.google.protobuf.Timestamp.getDefaultInstance() : gt_;
+ }
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>
+ getGtFieldBuilder() {
+ if (gtBuilder_ == null) {
+ gtBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
+ getGt(),
+ getParentForChildren(),
+ isClean());
+ gt_ = null;
+ }
+ return gtBuilder_;
+ }
+
+ private com.google.protobuf.Timestamp gte_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> gteBuilder_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000020) == 0x00000020);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public com.google.protobuf.Timestamp getGte() {
+ if (gteBuilder_ == null) {
+ return gte_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : gte_;
+ } else {
+ return gteBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public Builder setGte(com.google.protobuf.Timestamp value) {
+ if (gteBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ gte_ = value;
+ onChanged();
+ } else {
+ gteBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public Builder setGte(
+ com.google.protobuf.Timestamp.Builder builderForValue) {
+ if (gteBuilder_ == null) {
+ gte_ = builderForValue.build();
+ onChanged();
+ } else {
+ gteBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public Builder mergeGte(com.google.protobuf.Timestamp value) {
+ if (gteBuilder_ == null) {
+ if (((bitField0_ & 0x00000020) == 0x00000020) &&
+ gte_ != null &&
+ gte_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
+ gte_ =
+ com.google.protobuf.Timestamp.newBuilder(gte_).mergeFrom(value).buildPartial();
+ } else {
+ gte_ = value;
+ }
+ onChanged();
+ } else {
+ gteBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000020;
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public Builder clearGte() {
+ if (gteBuilder_ == null) {
+ gte_ = null;
+ onChanged();
+ } else {
+ gteBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000020);
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public com.google.protobuf.Timestamp.Builder getGteBuilder() {
+ bitField0_ |= 0x00000020;
+ onChanged();
+ return getGteFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ public com.google.protobuf.TimestampOrBuilder getGteOrBuilder() {
+ if (gteBuilder_ != null) {
+ return gteBuilder_.getMessageOrBuilder();
+ } else {
+ return gte_ == null ?
+ com.google.protobuf.Timestamp.getDefaultInstance() : gte_;
+ }
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>
+ getGteFieldBuilder() {
+ if (gteBuilder_ == null) {
+ gteBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
+ getGte(),
+ getParentForChildren(),
+ isClean());
+ gte_ = null;
+ }
+ return gteBuilder_;
+ }
+
+ private boolean ltNow_ ;
+ /**
+ * <pre>
+ * LtNow specifies that this must be less than the current time. LtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool lt_now = 7;</code>
+ */
+ public boolean hasLtNow() {
+ return ((bitField0_ & 0x00000040) == 0x00000040);
+ }
+ /**
+ * <pre>
+ * LtNow specifies that this must be less than the current time. LtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool lt_now = 7;</code>
+ */
+ public boolean getLtNow() {
+ return ltNow_;
+ }
+ /**
+ * <pre>
+ * LtNow specifies that this must be less than the current time. LtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool lt_now = 7;</code>
+ */
+ public Builder setLtNow(boolean value) {
+ bitField0_ |= 0x00000040;
+ ltNow_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * LtNow specifies that this must be less than the current time. LtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool lt_now = 7;</code>
+ */
+ public Builder clearLtNow() {
+ bitField0_ = (bitField0_ & ~0x00000040);
+ ltNow_ = false;
+ onChanged();
+ return this;
+ }
+
+ private boolean gtNow_ ;
+ /**
+ * <pre>
+ * GtNow specifies that this must be greater than the current time. GtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool gt_now = 8;</code>
+ */
+ public boolean hasGtNow() {
+ return ((bitField0_ & 0x00000080) == 0x00000080);
+ }
+ /**
+ * <pre>
+ * GtNow specifies that this must be greater than the current time. GtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool gt_now = 8;</code>
+ */
+ public boolean getGtNow() {
+ return gtNow_;
+ }
+ /**
+ * <pre>
+ * GtNow specifies that this must be greater than the current time. GtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool gt_now = 8;</code>
+ */
+ public Builder setGtNow(boolean value) {
+ bitField0_ |= 0x00000080;
+ gtNow_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * GtNow specifies that this must be greater than the current time. GtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool gt_now = 8;</code>
+ */
+ public Builder clearGtNow() {
+ bitField0_ = (bitField0_ & ~0x00000080);
+ gtNow_ = false;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.Duration within_ = null;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder> withinBuilder_;
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public boolean hasWithin() {
+ return ((bitField0_ & 0x00000100) == 0x00000100);
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public com.google.protobuf.Duration getWithin() {
+ if (withinBuilder_ == null) {
+ return within_ == null ? com.google.protobuf.Duration.getDefaultInstance() : within_;
+ } else {
+ return withinBuilder_.getMessage();
+ }
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public Builder setWithin(com.google.protobuf.Duration value) {
+ if (withinBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ within_ = value;
+ onChanged();
+ } else {
+ withinBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000100;
+ return this;
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public Builder setWithin(
+ com.google.protobuf.Duration.Builder builderForValue) {
+ if (withinBuilder_ == null) {
+ within_ = builderForValue.build();
+ onChanged();
+ } else {
+ withinBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000100;
+ return this;
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public Builder mergeWithin(com.google.protobuf.Duration value) {
+ if (withinBuilder_ == null) {
+ if (((bitField0_ & 0x00000100) == 0x00000100) &&
+ within_ != null &&
+ within_ != com.google.protobuf.Duration.getDefaultInstance()) {
+ within_ =
+ com.google.protobuf.Duration.newBuilder(within_).mergeFrom(value).buildPartial();
+ } else {
+ within_ = value;
+ }
+ onChanged();
+ } else {
+ withinBuilder_.mergeFrom(value);
+ }
+ bitField0_ |= 0x00000100;
+ return this;
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public Builder clearWithin() {
+ if (withinBuilder_ == null) {
+ within_ = null;
+ onChanged();
+ } else {
+ withinBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000100);
+ return this;
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public com.google.protobuf.Duration.Builder getWithinBuilder() {
+ bitField0_ |= 0x00000100;
+ onChanged();
+ return getWithinFieldBuilder().getBuilder();
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ public com.google.protobuf.DurationOrBuilder getWithinOrBuilder() {
+ if (withinBuilder_ != null) {
+ return withinBuilder_.getMessageOrBuilder();
+ } else {
+ return within_ == null ?
+ com.google.protobuf.Duration.getDefaultInstance() : within_;
+ }
+ }
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>
+ getWithinFieldBuilder() {
+ if (withinBuilder_ == null) {
+ withinBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.Duration, com.google.protobuf.Duration.Builder, com.google.protobuf.DurationOrBuilder>(
+ getWithin(),
+ getParentForChildren(),
+ isClean());
+ within_ = null;
+ }
+ return withinBuilder_;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.TimestampRules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.TimestampRules)
+ private static final io.grpc.xds.shaded.validate.TimestampRules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.TimestampRules();
+ }
+
+ public static io.grpc.xds.shaded.validate.TimestampRules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<TimestampRules>
+ PARSER = new com.google.protobuf.AbstractParser<TimestampRules>() {
+ public TimestampRules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new TimestampRules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<TimestampRules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<TimestampRules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.TimestampRules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/TimestampRulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/TimestampRulesOrBuilder.java
new file mode 100644
index 000000000..4c767570b
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/TimestampRulesOrBuilder.java
@@ -0,0 +1,232 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface TimestampRulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.TimestampRules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ boolean hasRequired();
+ /**
+ * <pre>
+ * Required specifies that this field must be set
+ * </pre>
+ *
+ * <code>optional bool required = 1;</code>
+ */
+ boolean getRequired();
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ com.google.protobuf.Timestamp getConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp const = 2;</code>
+ */
+ com.google.protobuf.TimestampOrBuilder getConstOrBuilder();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ com.google.protobuf.Timestamp getLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lt = 3;</code>
+ */
+ com.google.protobuf.TimestampOrBuilder getLtOrBuilder();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ com.google.protobuf.Timestamp getLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp lte = 4;</code>
+ */
+ com.google.protobuf.TimestampOrBuilder getLteOrBuilder();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ com.google.protobuf.Timestamp getGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gt = 5;</code>
+ */
+ com.google.protobuf.TimestampOrBuilder getGtOrBuilder();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ com.google.protobuf.Timestamp getGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than the specified value,
+ * inclusive
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Timestamp gte = 6;</code>
+ */
+ com.google.protobuf.TimestampOrBuilder getGteOrBuilder();
+
+ /**
+ * <pre>
+ * LtNow specifies that this must be less than the current time. LtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool lt_now = 7;</code>
+ */
+ boolean hasLtNow();
+ /**
+ * <pre>
+ * LtNow specifies that this must be less than the current time. LtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool lt_now = 7;</code>
+ */
+ boolean getLtNow();
+
+ /**
+ * <pre>
+ * GtNow specifies that this must be greater than the current time. GtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool gt_now = 8;</code>
+ */
+ boolean hasGtNow();
+ /**
+ * <pre>
+ * GtNow specifies that this must be greater than the current time. GtNow
+ * can only be used with the Within rule.
+ * </pre>
+ *
+ * <code>optional bool gt_now = 8;</code>
+ */
+ boolean getGtNow();
+
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ boolean hasWithin();
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ com.google.protobuf.Duration getWithin();
+ /**
+ * <pre>
+ * Within specifies that this field must be within this duration of the
+ * current time. This constraint can be used alone or with the LtNow and
+ * GtNow rules.
+ * </pre>
+ *
+ * <code>optional .google.protobuf.Duration within = 9;</code>
+ */
+ com.google.protobuf.DurationOrBuilder getWithinOrBuilder();
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt32Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt32Rules.java
new file mode 100644
index 000000000..ac472afda
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt32Rules.java
@@ -0,0 +1,1344 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * UInt32Rules describes the constraints applied to `uint32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.UInt32Rules}
+ */
+public final class UInt32Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.UInt32Rules)
+ UInt32RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UInt32Rules.newBuilder() to construct.
+ private UInt32Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private UInt32Rules() {
+ const_ = 0;
+ lt_ = 0;
+ lte_ = 0;
+ gt_ = 0;
+ gte_ = 0;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UInt32Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readUInt32();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readUInt32();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readUInt32();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readUInt32();
+ break;
+ }
+ case 40: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readUInt32();
+ break;
+ }
+ case 48: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readUInt32());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readUInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 56: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readUInt32());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readUInt32());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.UInt32Rules.class, io.grpc.xds.shaded.validate.UInt32Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private int const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private int lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private int lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private int gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private int gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Integer> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Integer> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeUInt32(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeUInt32(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeUInt32(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeUInt32(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeUInt32(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeUInt32(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeUInt32(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt32Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeUInt32SizeNoTag(in_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeUInt32SizeNoTag(notIn_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.UInt32Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.UInt32Rules other = (io.grpc.xds.shaded.validate.UInt32Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + getConst();
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + getLt();
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + getLte();
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + getGt();
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + getGte();
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.UInt32Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.UInt32Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * UInt32Rules describes the constraints applied to `uint32` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.UInt32Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.UInt32Rules)
+ io.grpc.xds.shaded.validate.UInt32RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt32Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt32Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.UInt32Rules.class, io.grpc.xds.shaded.validate.UInt32Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.UInt32Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt32Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.UInt32Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.UInt32Rules build() {
+ io.grpc.xds.shaded.validate.UInt32Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.UInt32Rules buildPartial() {
+ io.grpc.xds.shaded.validate.UInt32Rules result = new io.grpc.xds.shaded.validate.UInt32Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.UInt32Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.UInt32Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.UInt32Rules other) {
+ if (other == io.grpc.xds.shaded.validate.UInt32Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.UInt32Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.UInt32Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private int const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint32 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint32 const = 1;</code>
+ */
+ public int getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint32 const = 1;</code>
+ */
+ public Builder setConst(int value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint32 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint32 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint32 lt = 2;</code>
+ */
+ public int getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint32 lt = 2;</code>
+ */
+ public Builder setLt(int value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint32 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint32 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint32 lte = 3;</code>
+ */
+ public int getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint32 lte = 3;</code>
+ */
+ public Builder setLte(int value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint32 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gt = 4;</code>
+ */
+ public int getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gt = 4;</code>
+ */
+ public Builder setGt(int value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private int gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gte = 5;</code>
+ */
+ public int getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gte = 5;</code>
+ */
+ public Builder setGte(int value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Integer>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public int getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, int value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public Builder addIn(int value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Integer> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Integer>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Integer>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public int getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, int value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public Builder addNotIn(int value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Integer> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.UInt32Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.UInt32Rules)
+ private static final io.grpc.xds.shaded.validate.UInt32Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.UInt32Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.UInt32Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<UInt32Rules>
+ PARSER = new com.google.protobuf.AbstractParser<UInt32Rules>() {
+ public UInt32Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UInt32Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<UInt32Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<UInt32Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.UInt32Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt32RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt32RulesOrBuilder.java
new file mode 100644
index 000000000..5ecaea762
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt32RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface UInt32RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.UInt32Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint32 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint32 const = 1;</code>
+ */
+ int getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint32 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint32 lt = 2;</code>
+ */
+ int getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint32 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint32 lte = 3;</code>
+ */
+ int getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gt = 4;</code>
+ */
+ int getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint32 gte = 5;</code>
+ */
+ int getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ java.util.List<java.lang.Integer> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 in = 6;</code>
+ */
+ int getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Integer> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint32 not_in = 7;</code>
+ */
+ int getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt64Rules.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt64Rules.java
new file mode 100644
index 000000000..a196a10f6
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt64Rules.java
@@ -0,0 +1,1349 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+/**
+ * <pre>
+ * UInt64Rules describes the constraints applied to `uint64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.UInt64Rules}
+ */
+public final class UInt64Rules extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:validate.UInt64Rules)
+ UInt64RulesOrBuilder {
+private static final long serialVersionUID = 0L;
+ // Use UInt64Rules.newBuilder() to construct.
+ private UInt64Rules(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private UInt64Rules() {
+ const_ = 0L;
+ lt_ = 0L;
+ lte_ = 0L;
+ gt_ = 0L;
+ gte_ = 0L;
+ in_ = java.util.Collections.emptyList();
+ notIn_ = java.util.Collections.emptyList();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private UInt64Rules(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ int mutable_bitField0_ = 0;
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ case 8: {
+ bitField0_ |= 0x00000001;
+ const_ = input.readUInt64();
+ break;
+ }
+ case 16: {
+ bitField0_ |= 0x00000002;
+ lt_ = input.readUInt64();
+ break;
+ }
+ case 24: {
+ bitField0_ |= 0x00000004;
+ lte_ = input.readUInt64();
+ break;
+ }
+ case 32: {
+ bitField0_ |= 0x00000008;
+ gt_ = input.readUInt64();
+ break;
+ }
+ case 40: {
+ bitField0_ |= 0x00000010;
+ gte_ = input.readUInt64();
+ break;
+ }
+ case 48: {
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ in_.add(input.readUInt64());
+ break;
+ }
+ case 50: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000020) == 0x00000020) && input.getBytesUntilLimit() > 0) {
+ in_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000020;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ in_.add(input.readUInt64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ case 56: {
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ notIn_.add(input.readUInt64());
+ break;
+ }
+ case 58: {
+ int length = input.readRawVarint32();
+ int limit = input.pushLimit(length);
+ if (!((mutable_bitField0_ & 0x00000040) == 0x00000040) && input.getBytesUntilLimit() > 0) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>();
+ mutable_bitField0_ |= 0x00000040;
+ }
+ while (input.getBytesUntilLimit() > 0) {
+ notIn_.add(input.readUInt64());
+ }
+ input.popLimit(limit);
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ }
+ if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ }
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.UInt64Rules.class, io.grpc.xds.shaded.validate.UInt64Rules.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int CONST_FIELD_NUMBER = 1;
+ private long const_;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+
+ public static final int LT_FIELD_NUMBER = 2;
+ private long lt_;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+
+ public static final int LTE_FIELD_NUMBER = 3;
+ private long lte_;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+
+ public static final int GT_FIELD_NUMBER = 4;
+ private long gt_;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+
+ public static final int GTE_FIELD_NUMBER = 5;
+ private long gte_;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+
+ public static final int IN_FIELD_NUMBER = 6;
+ private java.util.List<java.lang.Long> in_;
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return in_;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+
+ public static final int NOT_IN_FIELD_NUMBER = 7;
+ private java.util.List<java.lang.Long> notIn_;
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return notIn_;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ output.writeUInt64(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ output.writeUInt64(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ output.writeUInt64(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ output.writeUInt64(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ output.writeUInt64(5, gte_);
+ }
+ for (int i = 0; i < in_.size(); i++) {
+ output.writeUInt64(6, in_.get(i));
+ }
+ for (int i = 0; i < notIn_.size(); i++) {
+ output.writeUInt64(7, notIn_.get(i));
+ }
+ unknownFields.writeTo(output);
+ }
+
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) == 0x00000001)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(1, const_);
+ }
+ if (((bitField0_ & 0x00000002) == 0x00000002)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(2, lt_);
+ }
+ if (((bitField0_ & 0x00000004) == 0x00000004)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(3, lte_);
+ }
+ if (((bitField0_ & 0x00000008) == 0x00000008)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(4, gt_);
+ }
+ if (((bitField0_ & 0x00000010) == 0x00000010)) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeUInt64Size(5, gte_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < in_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeUInt64SizeNoTag(in_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getInList().size();
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < notIn_.size(); i++) {
+ dataSize += com.google.protobuf.CodedOutputStream
+ .computeUInt64SizeNoTag(notIn_.get(i));
+ }
+ size += dataSize;
+ size += 1 * getNotInList().size();
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof io.grpc.xds.shaded.validate.UInt64Rules)) {
+ return super.equals(obj);
+ }
+ io.grpc.xds.shaded.validate.UInt64Rules other = (io.grpc.xds.shaded.validate.UInt64Rules) obj;
+
+ boolean result = true;
+ result = result && (hasConst() == other.hasConst());
+ if (hasConst()) {
+ result = result && (getConst()
+ == other.getConst());
+ }
+ result = result && (hasLt() == other.hasLt());
+ if (hasLt()) {
+ result = result && (getLt()
+ == other.getLt());
+ }
+ result = result && (hasLte() == other.hasLte());
+ if (hasLte()) {
+ result = result && (getLte()
+ == other.getLte());
+ }
+ result = result && (hasGt() == other.hasGt());
+ if (hasGt()) {
+ result = result && (getGt()
+ == other.getGt());
+ }
+ result = result && (hasGte() == other.hasGte());
+ if (hasGte()) {
+ result = result && (getGte()
+ == other.getGte());
+ }
+ result = result && getInList()
+ .equals(other.getInList());
+ result = result && getNotInList()
+ .equals(other.getNotInList());
+ result = result && unknownFields.equals(other.unknownFields);
+ return result;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasConst()) {
+ hash = (37 * hash) + CONST_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getConst());
+ }
+ if (hasLt()) {
+ hash = (37 * hash) + LT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLt());
+ }
+ if (hasLte()) {
+ hash = (37 * hash) + LTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getLte());
+ }
+ if (hasGt()) {
+ hash = (37 * hash) + GT_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGt());
+ }
+ if (hasGte()) {
+ hash = (37 * hash) + GTE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+ getGte());
+ }
+ if (getInCount() > 0) {
+ hash = (37 * hash) + IN_FIELD_NUMBER;
+ hash = (53 * hash) + getInList().hashCode();
+ }
+ if (getNotInCount() > 0) {
+ hash = (37 * hash) + NOT_IN_FIELD_NUMBER;
+ hash = (53 * hash) + getNotInList().hashCode();
+ }
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static io.grpc.xds.shaded.validate.UInt64Rules parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(io.grpc.xds.shaded.validate.UInt64Rules prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * UInt64Rules describes the constraints applied to `uint64` values
+ * </pre>
+ *
+ * Protobuf type {@code validate.UInt64Rules}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:validate.UInt64Rules)
+ io.grpc.xds.shaded.validate.UInt64RulesOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt64Rules_descriptor;
+ }
+
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt64Rules_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ io.grpc.xds.shaded.validate.UInt64Rules.class, io.grpc.xds.shaded.validate.UInt64Rules.Builder.class);
+ }
+
+ // Construct using io.grpc.xds.shaded.validate.UInt64Rules.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ public Builder clear() {
+ super.clear();
+ const_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
+ lt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000004);
+ gt_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gte_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000010);
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ return this;
+ }
+
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return io.grpc.xds.shaded.validate.Validate.internal_static_validate_UInt64Rules_descriptor;
+ }
+
+ public io.grpc.xds.shaded.validate.UInt64Rules getDefaultInstanceForType() {
+ return io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance();
+ }
+
+ public io.grpc.xds.shaded.validate.UInt64Rules build() {
+ io.grpc.xds.shaded.validate.UInt64Rules result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ public io.grpc.xds.shaded.validate.UInt64Rules buildPartial() {
+ io.grpc.xds.shaded.validate.UInt64Rules result = new io.grpc.xds.shaded.validate.UInt64Rules(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
+ to_bitField0_ |= 0x00000001;
+ }
+ result.const_ = const_;
+ if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
+ to_bitField0_ |= 0x00000002;
+ }
+ result.lt_ = lt_;
+ if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+ to_bitField0_ |= 0x00000004;
+ }
+ result.lte_ = lte_;
+ if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
+ to_bitField0_ |= 0x00000008;
+ }
+ result.gt_ = gt_;
+ if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+ to_bitField0_ |= 0x00000010;
+ }
+ result.gte_ = gte_;
+ if (((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = java.util.Collections.unmodifiableList(in_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.in_ = in_;
+ if (((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = java.util.Collections.unmodifiableList(notIn_);
+ bitField0_ = (bitField0_ & ~0x00000040);
+ }
+ result.notIn_ = notIn_;
+ result.bitField0_ = to_bitField0_;
+ onBuilt();
+ return result;
+ }
+
+ public Builder clone() {
+ return (Builder) super.clone();
+ }
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.setField(field, value);
+ }
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return (Builder) super.clearField(field);
+ }
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return (Builder) super.clearOneof(oneof);
+ }
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return (Builder) super.setRepeatedField(field, index, value);
+ }
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return (Builder) super.addRepeatedField(field, value);
+ }
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof io.grpc.xds.shaded.validate.UInt64Rules) {
+ return mergeFrom((io.grpc.xds.shaded.validate.UInt64Rules)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(io.grpc.xds.shaded.validate.UInt64Rules other) {
+ if (other == io.grpc.xds.shaded.validate.UInt64Rules.getDefaultInstance()) return this;
+ if (other.hasConst()) {
+ setConst(other.getConst());
+ }
+ if (other.hasLt()) {
+ setLt(other.getLt());
+ }
+ if (other.hasLte()) {
+ setLte(other.getLte());
+ }
+ if (other.hasGt()) {
+ setGt(other.getGt());
+ }
+ if (other.hasGte()) {
+ setGte(other.getGte());
+ }
+ if (!other.in_.isEmpty()) {
+ if (in_.isEmpty()) {
+ in_ = other.in_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureInIsMutable();
+ in_.addAll(other.in_);
+ }
+ onChanged();
+ }
+ if (!other.notIn_.isEmpty()) {
+ if (notIn_.isEmpty()) {
+ notIn_ = other.notIn_;
+ bitField0_ = (bitField0_ & ~0x00000040);
+ } else {
+ ensureNotInIsMutable();
+ notIn_.addAll(other.notIn_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ io.grpc.xds.shaded.validate.UInt64Rules parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (io.grpc.xds.shaded.validate.UInt64Rules) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+ private int bitField0_;
+
+ private long const_ ;
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint64 const = 1;</code>
+ */
+ public boolean hasConst() {
+ return ((bitField0_ & 0x00000001) == 0x00000001);
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint64 const = 1;</code>
+ */
+ public long getConst() {
+ return const_;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint64 const = 1;</code>
+ */
+ public Builder setConst(long value) {
+ bitField0_ |= 0x00000001;
+ const_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint64 const = 1;</code>
+ */
+ public Builder clearConst() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ const_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lt_ ;
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint64 lt = 2;</code>
+ */
+ public boolean hasLt() {
+ return ((bitField0_ & 0x00000002) == 0x00000002);
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint64 lt = 2;</code>
+ */
+ public long getLt() {
+ return lt_;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint64 lt = 2;</code>
+ */
+ public Builder setLt(long value) {
+ bitField0_ |= 0x00000002;
+ lt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint64 lt = 2;</code>
+ */
+ public Builder clearLt() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ lt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long lte_ ;
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint64 lte = 3;</code>
+ */
+ public boolean hasLte() {
+ return ((bitField0_ & 0x00000004) == 0x00000004);
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint64 lte = 3;</code>
+ */
+ public long getLte() {
+ return lte_;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint64 lte = 3;</code>
+ */
+ public Builder setLte(long value) {
+ bitField0_ |= 0x00000004;
+ lte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint64 lte = 3;</code>
+ */
+ public Builder clearLte() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ lte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gt_ ;
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gt = 4;</code>
+ */
+ public boolean hasGt() {
+ return ((bitField0_ & 0x00000008) == 0x00000008);
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gt = 4;</code>
+ */
+ public long getGt() {
+ return gt_;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gt = 4;</code>
+ */
+ public Builder setGt(long value) {
+ bitField0_ |= 0x00000008;
+ gt_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gt = 4;</code>
+ */
+ public Builder clearGt() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ gt_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private long gte_ ;
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gte = 5;</code>
+ */
+ public boolean hasGte() {
+ return ((bitField0_ & 0x00000010) == 0x00000010);
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gte = 5;</code>
+ */
+ public long getGte() {
+ return gte_;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gte = 5;</code>
+ */
+ public Builder setGte(long value) {
+ bitField0_ |= 0x00000010;
+ gte_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gte = 5;</code>
+ */
+ public Builder clearGte() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ gte_ = 0L;
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> in_ = java.util.Collections.emptyList();
+ private void ensureInIsMutable() {
+ if (!((bitField0_ & 0x00000020) == 0x00000020)) {
+ in_ = new java.util.ArrayList<java.lang.Long>(in_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getInList() {
+ return java.util.Collections.unmodifiableList(in_);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public int getInCount() {
+ return in_.size();
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public long getIn(int index) {
+ return in_.get(index);
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public Builder setIn(
+ int index, long value) {
+ ensureInIsMutable();
+ in_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public Builder addIn(long value) {
+ ensureInIsMutable();
+ in_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public Builder addAllIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, in_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ public Builder clearIn() {
+ in_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ return this;
+ }
+
+ private java.util.List<java.lang.Long> notIn_ = java.util.Collections.emptyList();
+ private void ensureNotInIsMutable() {
+ if (!((bitField0_ & 0x00000040) == 0x00000040)) {
+ notIn_ = new java.util.ArrayList<java.lang.Long>(notIn_);
+ bitField0_ |= 0x00000040;
+ }
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public java.util.List<java.lang.Long>
+ getNotInList() {
+ return java.util.Collections.unmodifiableList(notIn_);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public int getNotInCount() {
+ return notIn_.size();
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public long getNotIn(int index) {
+ return notIn_.get(index);
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public Builder setNotIn(
+ int index, long value) {
+ ensureNotInIsMutable();
+ notIn_.set(index, value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public Builder addNotIn(long value) {
+ ensureNotInIsMutable();
+ notIn_.add(value);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public Builder addAllNotIn(
+ java.lang.Iterable<? extends java.lang.Long> values) {
+ ensureNotInIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(
+ values, notIn_);
+ onChanged();
+ return this;
+ }
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ public Builder clearNotIn() {
+ notIn_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000040);
+ onChanged();
+ return this;
+ }
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:validate.UInt64Rules)
+ }
+
+ // @@protoc_insertion_point(class_scope:validate.UInt64Rules)
+ private static final io.grpc.xds.shaded.validate.UInt64Rules DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new io.grpc.xds.shaded.validate.UInt64Rules();
+ }
+
+ public static io.grpc.xds.shaded.validate.UInt64Rules getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ @java.lang.Deprecated public static final com.google.protobuf.Parser<UInt64Rules>
+ PARSER = new com.google.protobuf.AbstractParser<UInt64Rules>() {
+ public UInt64Rules parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new UInt64Rules(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<UInt64Rules> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<UInt64Rules> getParserForType() {
+ return PARSER;
+ }
+
+ public io.grpc.xds.shaded.validate.UInt64Rules getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+}
+
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt64RulesOrBuilder.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt64RulesOrBuilder.java
new file mode 100644
index 000000000..b9b5e371f
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/UInt64RulesOrBuilder.java
@@ -0,0 +1,162 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public interface UInt64RulesOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:validate.UInt64Rules)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint64 const = 1;</code>
+ */
+ boolean hasConst();
+ /**
+ * <pre>
+ * Const specifies that this field must be exactly the specified value
+ * </pre>
+ *
+ * <code>optional uint64 const = 1;</code>
+ */
+ long getConst();
+
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint64 lt = 2;</code>
+ */
+ boolean hasLt();
+ /**
+ * <pre>
+ * Lt specifies that this field must be less than the specified value,
+ * exclusive
+ * </pre>
+ *
+ * <code>optional uint64 lt = 2;</code>
+ */
+ long getLt();
+
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint64 lte = 3;</code>
+ */
+ boolean hasLte();
+ /**
+ * <pre>
+ * Lte specifies that this field must be less than or equal to the
+ * specified value, inclusive
+ * </pre>
+ *
+ * <code>optional uint64 lte = 3;</code>
+ */
+ long getLte();
+
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gt = 4;</code>
+ */
+ boolean hasGt();
+ /**
+ * <pre>
+ * Gt specifies that this field must be greater than the specified value,
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ * range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gt = 4;</code>
+ */
+ long getGt();
+
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gte = 5;</code>
+ */
+ boolean hasGte();
+ /**
+ * <pre>
+ * Gte specifies that this field must be greater than or equal to the
+ * specified value, inclusive. If the value of Gte is larger than a
+ * specified Lt or Lte, the range is reversed.
+ * </pre>
+ *
+ * <code>optional uint64 gte = 5;</code>
+ */
+ long getGte();
+
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ java.util.List<java.lang.Long> getInList();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ int getInCount();
+ /**
+ * <pre>
+ * In specifies that this field must be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 in = 6;</code>
+ */
+ long getIn(int index);
+
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ java.util.List<java.lang.Long> getNotInList();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ int getNotInCount();
+ /**
+ * <pre>
+ * NotIn specifies that this field cannot be equal to one of the specified
+ * values
+ * </pre>
+ *
+ * <code>repeated uint64 not_in = 7;</code>
+ */
+ long getNotIn(int index);
+}
diff --git a/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Validate.java b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Validate.java
new file mode 100644
index 000000000..955c606c8
--- /dev/null
+++ b/xds/src/generated/main/java/io/grpc/xds/shaded/validate/Validate.java
@@ -0,0 +1,462 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: validate/validate.proto
+
+package io.grpc.xds.shaded.validate;
+
+public final class Validate {
+ private Validate() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ registry.add(io.grpc.xds.shaded.validate.Validate.disabled);
+ registry.add(io.grpc.xds.shaded.validate.Validate.required);
+ registry.add(io.grpc.xds.shaded.validate.Validate.rules);
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public static final int DISABLED_FIELD_NUMBER = 919191;
+ /**
+ * <pre>
+ * Disabled nullifies any validation rules for this message, including any
+ * message fields associated with it that do support validation.
+ * </pre>
+ *
+ * <code>extend .google.protobuf.MessageOptions { ... }</code>
+ */
+ public static final
+ com.google.protobuf.GeneratedMessage.GeneratedExtension<
+ com.google.protobuf.DescriptorProtos.MessageOptions,
+ java.lang.Boolean> disabled = com.google.protobuf.GeneratedMessage
+ .newFileScopedGeneratedExtension(
+ java.lang.Boolean.class,
+ null);
+ public static final int REQUIRED_FIELD_NUMBER = 919191;
+ /**
+ * <pre>
+ * Required ensures that exactly one the field options in a oneof is set;
+ * validation fails if no fields in the oneof are set.
+ * </pre>
+ *
+ * <code>extend .google.protobuf.OneofOptions { ... }</code>
+ */
+ public static final
+ com.google.protobuf.GeneratedMessage.GeneratedExtension<
+ com.google.protobuf.DescriptorProtos.OneofOptions,
+ java.lang.Boolean> required = com.google.protobuf.GeneratedMessage
+ .newFileScopedGeneratedExtension(
+ java.lang.Boolean.class,
+ null);
+ public static final int RULES_FIELD_NUMBER = 919191;
+ /**
+ * <pre>
+ * Rules specify the validations to be performed on this field. By default,
+ * no validation is performed against a field.
+ * </pre>
+ *
+ * <code>extend .google.protobuf.FieldOptions { ... }</code>
+ */
+ public static final
+ com.google.protobuf.GeneratedMessage.GeneratedExtension<
+ com.google.protobuf.DescriptorProtos.FieldOptions,
+ io.grpc.xds.shaded.validate.FieldRules> rules = com.google.protobuf.GeneratedMessage
+ .newFileScopedGeneratedExtension(
+ io.grpc.xds.shaded.validate.FieldRules.class,
+ io.grpc.xds.shaded.validate.FieldRules.getDefaultInstance());
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_FieldRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_FieldRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_FloatRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_FloatRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_DoubleRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_DoubleRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_Int32Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_Int32Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_Int64Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_Int64Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_UInt32Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_UInt32Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_UInt64Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_UInt64Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_SInt32Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_SInt32Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_SInt64Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_SInt64Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_Fixed32Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_Fixed32Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_Fixed64Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_Fixed64Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_SFixed32Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_SFixed32Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_SFixed64Rules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_SFixed64Rules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_BoolRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_BoolRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_StringRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_StringRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_BytesRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_BytesRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_EnumRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_EnumRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_MessageRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_MessageRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_RepeatedRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_RepeatedRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_MapRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_MapRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_AnyRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_AnyRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_DurationRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_DurationRules_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_validate_TimestampRules_descriptor;
+ static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_validate_TimestampRules_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\027validate/validate.proto\022\010validate\032 goo" +
+ "gle/protobuf/descriptor.proto\032\036google/pr" +
+ "otobuf/duration.proto\032\037google/protobuf/t" +
+ "imestamp.proto\"\232\007\n\nFieldRules\022%\n\005float\030\001" +
+ " \001(\0132\024.validate.FloatRulesH\000\022\'\n\006double\030\002" +
+ " \001(\0132\025.validate.DoubleRulesH\000\022%\n\005int32\030\003" +
+ " \001(\0132\024.validate.Int32RulesH\000\022%\n\005int64\030\004 " +
+ "\001(\0132\024.validate.Int64RulesH\000\022\'\n\006uint32\030\005 " +
+ "\001(\0132\025.validate.UInt32RulesH\000\022\'\n\006uint64\030\006" +
+ " \001(\0132\025.validate.UInt64RulesH\000\022\'\n\006sint32\030" +
+ "\007 \001(\0132\025.validate.SInt32RulesH\000\022\'\n\006sint64" +
+ "\030\010 \001(\0132\025.validate.SInt64RulesH\000\022)\n\007fixed" +
+ "32\030\t \001(\0132\026.validate.Fixed32RulesH\000\022)\n\007fi" +
+ "xed64\030\n \001(\0132\026.validate.Fixed64RulesH\000\022+\n" +
+ "\010sfixed32\030\013 \001(\0132\027.validate.SFixed32Rules" +
+ "H\000\022+\n\010sfixed64\030\014 \001(\0132\027.validate.SFixed64" +
+ "RulesH\000\022#\n\004bool\030\r \001(\0132\023.validate.BoolRul" +
+ "esH\000\022\'\n\006string\030\016 \001(\0132\025.validate.StringRu" +
+ "lesH\000\022%\n\005bytes\030\017 \001(\0132\024.validate.BytesRul" +
+ "esH\000\022#\n\004enum\030\020 \001(\0132\023.validate.EnumRulesH" +
+ "\000\022)\n\007message\030\021 \001(\0132\026.validate.MessageRul" +
+ "esH\000\022+\n\010repeated\030\022 \001(\0132\027.validate.Repeat" +
+ "edRulesH\000\022!\n\003map\030\023 \001(\0132\022.validate.MapRul" +
+ "esH\000\022!\n\003any\030\024 \001(\0132\022.validate.AnyRulesH\000\022" +
+ "+\n\010duration\030\025 \001(\0132\027.validate.DurationRul" +
+ "esH\000\022-\n\ttimestamp\030\026 \001(\0132\030.validate.Times" +
+ "tampRulesH\000B\006\n\004type\"i\n\nFloatRules\022\r\n\005con" +
+ "st\030\001 \001(\002\022\n\n\002lt\030\002 \001(\002\022\013\n\003lte\030\003 \001(\002\022\n\n\002gt\030" +
+ "\004 \001(\002\022\013\n\003gte\030\005 \001(\002\022\n\n\002in\030\006 \003(\002\022\016\n\006not_in" +
+ "\030\007 \003(\002\"j\n\013DoubleRules\022\r\n\005const\030\001 \001(\001\022\n\n\002" +
+ "lt\030\002 \001(\001\022\013\n\003lte\030\003 \001(\001\022\n\n\002gt\030\004 \001(\001\022\013\n\003gte" +
+ "\030\005 \001(\001\022\n\n\002in\030\006 \003(\001\022\016\n\006not_in\030\007 \003(\001\"i\n\nIn" +
+ "t32Rules\022\r\n\005const\030\001 \001(\005\022\n\n\002lt\030\002 \001(\005\022\013\n\003l" +
+ "te\030\003 \001(\005\022\n\n\002gt\030\004 \001(\005\022\013\n\003gte\030\005 \001(\005\022\n\n\002in\030" +
+ "\006 \003(\005\022\016\n\006not_in\030\007 \003(\005\"i\n\nInt64Rules\022\r\n\005c" +
+ "onst\030\001 \001(\003\022\n\n\002lt\030\002 \001(\003\022\013\n\003lte\030\003 \001(\003\022\n\n\002g" +
+ "t\030\004 \001(\003\022\013\n\003gte\030\005 \001(\003\022\n\n\002in\030\006 \003(\003\022\016\n\006not_" +
+ "in\030\007 \003(\003\"j\n\013UInt32Rules\022\r\n\005const\030\001 \001(\r\022\n" +
+ "\n\002lt\030\002 \001(\r\022\013\n\003lte\030\003 \001(\r\022\n\n\002gt\030\004 \001(\r\022\013\n\003g" +
+ "te\030\005 \001(\r\022\n\n\002in\030\006 \003(\r\022\016\n\006not_in\030\007 \003(\r\"j\n\013" +
+ "UInt64Rules\022\r\n\005const\030\001 \001(\004\022\n\n\002lt\030\002 \001(\004\022\013" +
+ "\n\003lte\030\003 \001(\004\022\n\n\002gt\030\004 \001(\004\022\013\n\003gte\030\005 \001(\004\022\n\n\002" +
+ "in\030\006 \003(\004\022\016\n\006not_in\030\007 \003(\004\"j\n\013SInt32Rules\022" +
+ "\r\n\005const\030\001 \001(\021\022\n\n\002lt\030\002 \001(\021\022\013\n\003lte\030\003 \001(\021\022" +
+ "\n\n\002gt\030\004 \001(\021\022\013\n\003gte\030\005 \001(\021\022\n\n\002in\030\006 \003(\021\022\016\n\006" +
+ "not_in\030\007 \003(\021\"j\n\013SInt64Rules\022\r\n\005const\030\001 \001" +
+ "(\022\022\n\n\002lt\030\002 \001(\022\022\013\n\003lte\030\003 \001(\022\022\n\n\002gt\030\004 \001(\022\022" +
+ "\013\n\003gte\030\005 \001(\022\022\n\n\002in\030\006 \003(\022\022\016\n\006not_in\030\007 \003(\022" +
+ "\"k\n\014Fixed32Rules\022\r\n\005const\030\001 \001(\007\022\n\n\002lt\030\002 " +
+ "\001(\007\022\013\n\003lte\030\003 \001(\007\022\n\n\002gt\030\004 \001(\007\022\013\n\003gte\030\005 \001(" +
+ "\007\022\n\n\002in\030\006 \003(\007\022\016\n\006not_in\030\007 \003(\007\"k\n\014Fixed64" +
+ "Rules\022\r\n\005const\030\001 \001(\006\022\n\n\002lt\030\002 \001(\006\022\013\n\003lte\030" +
+ "\003 \001(\006\022\n\n\002gt\030\004 \001(\006\022\013\n\003gte\030\005 \001(\006\022\n\n\002in\030\006 \003" +
+ "(\006\022\016\n\006not_in\030\007 \003(\006\"l\n\rSFixed32Rules\022\r\n\005c" +
+ "onst\030\001 \001(\017\022\n\n\002lt\030\002 \001(\017\022\013\n\003lte\030\003 \001(\017\022\n\n\002g" +
+ "t\030\004 \001(\017\022\013\n\003gte\030\005 \001(\017\022\n\n\002in\030\006 \003(\017\022\016\n\006not_" +
+ "in\030\007 \003(\017\"l\n\rSFixed64Rules\022\r\n\005const\030\001 \001(\020" +
+ "\022\n\n\002lt\030\002 \001(\020\022\013\n\003lte\030\003 \001(\020\022\n\n\002gt\030\004 \001(\020\022\013\n" +
+ "\003gte\030\005 \001(\020\022\n\n\002in\030\006 \003(\020\022\016\n\006not_in\030\007 \003(\020\"\032" +
+ "\n\tBoolRules\022\r\n\005const\030\001 \001(\010\"\306\002\n\013StringRul" +
+ "es\022\r\n\005const\030\001 \001(\t\022\017\n\007min_len\030\002 \001(\004\022\017\n\007ma" +
+ "x_len\030\003 \001(\004\022\021\n\tmin_bytes\030\004 \001(\004\022\021\n\tmax_by" +
+ "tes\030\005 \001(\004\022\017\n\007pattern\030\006 \001(\t\022\016\n\006prefix\030\007 \001" +
+ "(\t\022\016\n\006suffix\030\010 \001(\t\022\020\n\010contains\030\t \001(\t\022\n\n\002" +
+ "in\030\n \003(\t\022\016\n\006not_in\030\013 \003(\t\022\017\n\005email\030\014 \001(\010H" +
+ "\000\022\022\n\010hostname\030\r \001(\010H\000\022\014\n\002ip\030\016 \001(\010H\000\022\016\n\004i" +
+ "pv4\030\017 \001(\010H\000\022\016\n\004ipv6\030\020 \001(\010H\000\022\r\n\003uri\030\021 \001(\010" +
+ "H\000\022\021\n\007uri_ref\030\022 \001(\010H\000B\014\n\nwell_known\"\330\001\n\n" +
+ "BytesRules\022\r\n\005const\030\001 \001(\014\022\017\n\007min_len\030\002 \001" +
+ "(\004\022\017\n\007max_len\030\003 \001(\004\022\017\n\007pattern\030\004 \001(\t\022\016\n\006" +
+ "prefix\030\005 \001(\014\022\016\n\006suffix\030\006 \001(\014\022\020\n\010contains" +
+ "\030\007 \001(\014\022\n\n\002in\030\010 \003(\014\022\016\n\006not_in\030\t \003(\014\022\014\n\002ip" +
+ "\030\n \001(\010H\000\022\016\n\004ipv4\030\013 \001(\010H\000\022\016\n\004ipv6\030\014 \001(\010H\000" +
+ "B\014\n\nwell_known\"L\n\tEnumRules\022\r\n\005const\030\001 \001" +
+ "(\005\022\024\n\014defined_only\030\002 \001(\010\022\n\n\002in\030\003 \003(\005\022\016\n\006" +
+ "not_in\030\004 \003(\005\".\n\014MessageRules\022\014\n\004skip\030\001 \001" +
+ "(\010\022\020\n\010required\030\002 \001(\010\"j\n\rRepeatedRules\022\021\n" +
+ "\tmin_items\030\001 \001(\004\022\021\n\tmax_items\030\002 \001(\004\022\016\n\006u" +
+ "nique\030\003 \001(\010\022#\n\005items\030\004 \001(\0132\024.validate.Fi" +
+ "eldRules\"\215\001\n\010MapRules\022\021\n\tmin_pairs\030\001 \001(\004" +
+ "\022\021\n\tmax_pairs\030\002 \001(\004\022\021\n\tno_sparse\030\003 \001(\010\022\"" +
+ "\n\004keys\030\004 \001(\0132\024.validate.FieldRules\022$\n\006va" +
+ "lues\030\005 \001(\0132\024.validate.FieldRules\"8\n\010AnyR" +
+ "ules\022\020\n\010required\030\001 \001(\010\022\n\n\002in\030\002 \003(\t\022\016\n\006no" +
+ "t_in\030\003 \003(\t\"\273\002\n\rDurationRules\022\020\n\010required" +
+ "\030\001 \001(\010\022(\n\005const\030\002 \001(\0132\031.google.protobuf." +
+ "Duration\022%\n\002lt\030\003 \001(\0132\031.google.protobuf.D" +
+ "uration\022&\n\003lte\030\004 \001(\0132\031.google.protobuf.D" +
+ "uration\022%\n\002gt\030\005 \001(\0132\031.google.protobuf.Du" +
+ "ration\022&\n\003gte\030\006 \001(\0132\031.google.protobuf.Du" +
+ "ration\022%\n\002in\030\007 \003(\0132\031.google.protobuf.Dur" +
+ "ation\022)\n\006not_in\030\010 \003(\0132\031.google.protobuf." +
+ "Duration\"\272\002\n\016TimestampRules\022\020\n\010required\030" +
+ "\001 \001(\010\022)\n\005const\030\002 \001(\0132\032.google.protobuf.T" +
+ "imestamp\022&\n\002lt\030\003 \001(\0132\032.google.protobuf.T" +
+ "imestamp\022\'\n\003lte\030\004 \001(\0132\032.google.protobuf." +
+ "Timestamp\022&\n\002gt\030\005 \001(\0132\032.google.protobuf." +
+ "Timestamp\022\'\n\003gte\030\006 \001(\0132\032.google.protobuf" +
+ ".Timestamp\022\016\n\006lt_now\030\007 \001(\010\022\016\n\006gt_now\030\010 \001" +
+ "(\010\022)\n\006within\030\t \001(\0132\031.google.protobuf.Dur" +
+ "ation:3\n\010disabled\022\037.google.protobuf.Mess" +
+ "ageOptions\030\227\2158 \001(\010:1\n\010required\022\035.google." +
+ "protobuf.OneofOptions\030\227\2158 \001(\010:D\n\005rules\022\035" +
+ ".google.protobuf.FieldOptions\030\227\2158 \001(\0132\024." +
+ "validate.FieldRulesBM\n\033io.grpc.xds.shade" +
+ "d.validateP\001Z,github.com/lyft/protoc-gen" +
+ "-validate/validate"
+ };
+ com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
+ new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
+ public com.google.protobuf.ExtensionRegistry assignDescriptors(
+ com.google.protobuf.Descriptors.FileDescriptor root) {
+ descriptor = root;
+ return null;
+ }
+ };
+ com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.protobuf.DescriptorProtos.getDescriptor(),
+ com.google.protobuf.DurationProto.getDescriptor(),
+ com.google.protobuf.TimestampProto.getDescriptor(),
+ }, assigner);
+ internal_static_validate_FieldRules_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_validate_FieldRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_FieldRules_descriptor,
+ new java.lang.String[] { "Float", "Double", "Int32", "Int64", "Uint32", "Uint64", "Sint32", "Sint64", "Fixed32", "Fixed64", "Sfixed32", "Sfixed64", "Bool", "String", "Bytes", "Enum", "Message", "Repeated", "Map", "Any", "Duration", "Timestamp", "Type", });
+ internal_static_validate_FloatRules_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_validate_FloatRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_FloatRules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_DoubleRules_descriptor =
+ getDescriptor().getMessageTypes().get(2);
+ internal_static_validate_DoubleRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_DoubleRules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_Int32Rules_descriptor =
+ getDescriptor().getMessageTypes().get(3);
+ internal_static_validate_Int32Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_Int32Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_Int64Rules_descriptor =
+ getDescriptor().getMessageTypes().get(4);
+ internal_static_validate_Int64Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_Int64Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_UInt32Rules_descriptor =
+ getDescriptor().getMessageTypes().get(5);
+ internal_static_validate_UInt32Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_UInt32Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_UInt64Rules_descriptor =
+ getDescriptor().getMessageTypes().get(6);
+ internal_static_validate_UInt64Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_UInt64Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_SInt32Rules_descriptor =
+ getDescriptor().getMessageTypes().get(7);
+ internal_static_validate_SInt32Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_SInt32Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_SInt64Rules_descriptor =
+ getDescriptor().getMessageTypes().get(8);
+ internal_static_validate_SInt64Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_SInt64Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_Fixed32Rules_descriptor =
+ getDescriptor().getMessageTypes().get(9);
+ internal_static_validate_Fixed32Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_Fixed32Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_Fixed64Rules_descriptor =
+ getDescriptor().getMessageTypes().get(10);
+ internal_static_validate_Fixed64Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_Fixed64Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_SFixed32Rules_descriptor =
+ getDescriptor().getMessageTypes().get(11);
+ internal_static_validate_SFixed32Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_SFixed32Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_SFixed64Rules_descriptor =
+ getDescriptor().getMessageTypes().get(12);
+ internal_static_validate_SFixed64Rules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_SFixed64Rules_descriptor,
+ new java.lang.String[] { "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_BoolRules_descriptor =
+ getDescriptor().getMessageTypes().get(13);
+ internal_static_validate_BoolRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_BoolRules_descriptor,
+ new java.lang.String[] { "Const", });
+ internal_static_validate_StringRules_descriptor =
+ getDescriptor().getMessageTypes().get(14);
+ internal_static_validate_StringRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_StringRules_descriptor,
+ new java.lang.String[] { "Const", "MinLen", "MaxLen", "MinBytes", "MaxBytes", "Pattern", "Prefix", "Suffix", "Contains", "In", "NotIn", "Email", "Hostname", "Ip", "Ipv4", "Ipv6", "Uri", "UriRef", "WellKnown", });
+ internal_static_validate_BytesRules_descriptor =
+ getDescriptor().getMessageTypes().get(15);
+ internal_static_validate_BytesRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_BytesRules_descriptor,
+ new java.lang.String[] { "Const", "MinLen", "MaxLen", "Pattern", "Prefix", "Suffix", "Contains", "In", "NotIn", "Ip", "Ipv4", "Ipv6", "WellKnown", });
+ internal_static_validate_EnumRules_descriptor =
+ getDescriptor().getMessageTypes().get(16);
+ internal_static_validate_EnumRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_EnumRules_descriptor,
+ new java.lang.String[] { "Const", "DefinedOnly", "In", "NotIn", });
+ internal_static_validate_MessageRules_descriptor =
+ getDescriptor().getMessageTypes().get(17);
+ internal_static_validate_MessageRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_MessageRules_descriptor,
+ new java.lang.String[] { "Skip", "Required", });
+ internal_static_validate_RepeatedRules_descriptor =
+ getDescriptor().getMessageTypes().get(18);
+ internal_static_validate_RepeatedRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_RepeatedRules_descriptor,
+ new java.lang.String[] { "MinItems", "MaxItems", "Unique", "Items", });
+ internal_static_validate_MapRules_descriptor =
+ getDescriptor().getMessageTypes().get(19);
+ internal_static_validate_MapRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_MapRules_descriptor,
+ new java.lang.String[] { "MinPairs", "MaxPairs", "NoSparse", "Keys", "Values", });
+ internal_static_validate_AnyRules_descriptor =
+ getDescriptor().getMessageTypes().get(20);
+ internal_static_validate_AnyRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_AnyRules_descriptor,
+ new java.lang.String[] { "Required", "In", "NotIn", });
+ internal_static_validate_DurationRules_descriptor =
+ getDescriptor().getMessageTypes().get(21);
+ internal_static_validate_DurationRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_DurationRules_descriptor,
+ new java.lang.String[] { "Required", "Const", "Lt", "Lte", "Gt", "Gte", "In", "NotIn", });
+ internal_static_validate_TimestampRules_descriptor =
+ getDescriptor().getMessageTypes().get(22);
+ internal_static_validate_TimestampRules_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_validate_TimestampRules_descriptor,
+ new java.lang.String[] { "Required", "Const", "Lt", "Lte", "Gt", "Gte", "LtNow", "GtNow", "Within", });
+ disabled.internalInit(descriptor.getExtensions().get(0));
+ required.internalInit(descriptor.getExtensions().get(1));
+ rules.internalInit(descriptor.getExtensions().get(2));
+ com.google.protobuf.DescriptorProtos.getDescriptor();
+ com.google.protobuf.DurationProto.getDescriptor();
+ com.google.protobuf.TimestampProto.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/xds/third_party/envoy/LICENSE b/xds/third_party/envoy/LICENSE
new file mode 100644
index 000000000..760a01df5
--- /dev/null
+++ b/xds/third_party/envoy/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner].
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License. \ No newline at end of file
diff --git a/xds/third_party/envoy/NOTICE b/xds/third_party/envoy/NOTICE
new file mode 100644
index 000000000..da867a29e
--- /dev/null
+++ b/xds/third_party/envoy/NOTICE
@@ -0,0 +1,4 @@
+Envoy
+Copyright 2016-2018 Envoy Project Authors
+
+Licensed under Apache License 2.0. See LICENSE for terms.
diff --git a/xds/third_party/envoy/import.sh b/xds/third_party/envoy/import.sh
new file mode 100755
index 000000000..49ce7bb6a
--- /dev/null
+++ b/xds/third_party/envoy/import.sh
@@ -0,0 +1,100 @@
+#!/bin/bash
+# Copyright 2018 The gRPC Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# in this directory run the following commands
+BRANCH=master
+# import VERSION from one of the google internal CLs
+VERSION=6ea4a035315109fa6c5eff5b74e983729a179f3f
+GIT_REPO="https://github.com/envoyproxy/envoy.git"
+GIT_BASE_DIR=envoy
+SOURCE_PROTO_BASE_DIR=envoy/api
+TARGET_PROTO_BASE_DIR=src/main/proto
+FILES=(
+envoy/api/v2/auth/cert.proto
+envoy/api/v2/cds.proto
+envoy/api/v2/cluster/circuit_breaker.proto
+envoy/api/v2/cluster/outlier_detection.proto
+envoy/api/v2/core/address.proto
+envoy/api/v2/core/base.proto
+envoy/api/v2/core/config_source.proto
+envoy/api/v2/core/grpc_service.proto
+envoy/api/v2/core/health_check.proto
+envoy/api/v2/core/protocol.proto
+envoy/api/v2/discovery.proto
+envoy/api/v2/eds.proto
+envoy/api/v2/endpoint/endpoint.proto
+envoy/api/v2/endpoint/load_report.proto
+envoy/type/percent.proto
+)
+
+# clone the envoy github repo in /tmp directory
+pushd /tmp
+rm -rf $GIT_BASE_DIR
+git clone -b $BRANCH $GIT_REPO
+cd $GIT_BASE_DIR
+git checkout $VERSION
+popd
+
+cp -p /tmp/${GIT_BASE_DIR}/LICENSE LICENSE
+cp -p /tmp/${GIT_BASE_DIR}/NOTICE NOTICE
+
+mkdir -p ${TARGET_PROTO_BASE_DIR}
+pushd ${TARGET_PROTO_BASE_DIR}
+
+# copy proto files to project directory
+for file in "${FILES[@]}"
+do
+ mkdir -p $(dirname ${file})
+ cp -p /tmp/${SOURCE_PROTO_BASE_DIR}/${file} ${file}
+done
+
+# See google internal third_party/envoy/envoy-update.sh
+# ===========================================================================
+# Fix up proto imports and remove references to gogoproto.
+# ===========================================================================
+for f in "${FILES[@]}"
+do
+ commands=(
+ # Import mangling.
+ -e 's#import "gogoproto/gogo.proto";##'
+ # Remove references to gogo.proto extensions.
+ -e 's#option (gogoproto\.[a-z_]\+) = \(true\|false\);##'
+ -e 's#\(, \)\?(gogoproto\.[a-z_]\+) = \(true\|false\),\?##'
+ # gogoproto removal can result in empty brackets.
+ -e 's# \[\]##'
+ # gogoproto removal can result in four spaces on a line by itself.
+ -e '/^ $/d'
+ )
+ sed -i "${commands[@]}" "$f"
+
+ # gogoproto removal can leave a comma on the last element in a list.
+ # This needs to run separately after all the commands above have finished
+ # since it is multi-line and rewrites the output of the above patterns.
+ sed -i -e '$!N; s#\(.*\),\([[:space:]]*\];\)#\1\2#; t; P; D;' "$f"
+done
+
+for file in "${FILES[@]}"
+do
+ # remove old "option java_multiple_files" if any
+ sed -i -e '/^option\sjava_multiple_files\s=/d' $file
+ # add new "option java_multiple_files"
+ sed -i -e "/^package\s/a option java_multiple_files = true;" $file
+ # remove old "option java_package" if any
+ sed -i -e '/^option\sjava_package\s=/d' $file
+ cmd='grep -Po "^package \K.*(?=;$)" '"${file}"
+ # add new "option java_package"
+ sed -i -e "/^package\s/a option java_package = \"io.grpc.xds.shaded.$(eval $cmd)\";" $file
+done
+popd
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/auth/cert.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/auth/cert.proto
new file mode 100644
index 000000000..0e88a1122
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/auth/cert.proto
@@ -0,0 +1,345 @@
+syntax = "proto3";
+
+package envoy.api.v2.auth;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.auth";
+option java_multiple_files = true;
+option go_package = "auth";
+
+import "envoy/api/v2/core/base.proto";
+import "envoy/api/v2/core/config_source.proto";
+
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: Common TLS configuration]
+
+message TlsParameters {
+ enum TlsProtocol {
+ // Envoy will choose the optimal TLS version.
+ TLS_AUTO = 0;
+
+ // TLS 1.0
+ TLSv1_0 = 1;
+
+ // TLS 1.1
+ TLSv1_1 = 2;
+
+ // TLS 1.2
+ TLSv1_2 = 3;
+
+ // TLS 1.3
+ TLSv1_3 = 4;
+ }
+
+ // Minimum TLS protocol version.
+ TlsProtocol tls_minimum_protocol_version = 1 [(validate.rules).enum.defined_only = true];
+
+ // Maximum TLS protocol version.
+ TlsProtocol tls_maximum_protocol_version = 2 [(validate.rules).enum.defined_only = true];
+
+ // If specified, the TLS listener will only support the specified `cipher list
+ // <https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration>`_.
+ // If not specified, the default list:
+ //
+ // .. code-block:: none
+ //
+ // [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
+ // [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
+ // ECDHE-ECDSA-AES128-SHA
+ // ECDHE-RSA-AES128-SHA
+ // AES128-GCM-SHA256
+ // AES128-SHA
+ // ECDHE-ECDSA-AES256-GCM-SHA384
+ // ECDHE-RSA-AES256-GCM-SHA384
+ // ECDHE-ECDSA-AES256-SHA
+ // ECDHE-RSA-AES256-SHA
+ // AES256-GCM-SHA384
+ // AES256-SHA
+ //
+ // will be used.
+ repeated string cipher_suites = 3;
+
+ // If specified, the TLS connection will only support the specified ECDH
+ // curves. If not specified, the default curves (X25519, P-256) will be used.
+ repeated string ecdh_curves = 4;
+}
+
+message TlsCertificate {
+ // The TLS certificate chain.
+ core.DataSource certificate_chain = 1;
+
+ // The TLS private key.
+ core.DataSource private_key = 2;
+
+ // The password to decrypt the TLS private key. If this field is not set, it is assumed that the
+ // TLS private key is not password encrypted.
+ core.DataSource password = 3;
+
+ // [#not-implemented-hide:]
+ core.DataSource ocsp_staple = 4;
+
+ // [#not-implemented-hide:]
+ repeated core.DataSource signed_certificate_timestamp = 5;
+}
+
+message TlsSessionTicketKeys {
+ // Keys for encrypting and decrypting TLS session tickets. The
+ // first key in the array contains the key to encrypt all new sessions created by this context.
+ // All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
+ // by, for example, putting the new key first, and the previous key second.
+ //
+ // If :ref:`session_ticket_keys <envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys>`
+ // is not specified, the TLS library will still support resuming sessions via tickets, but it will
+ // use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
+ // or on different hosts.
+ //
+ // Each key must contain exactly 80 bytes of cryptographically-secure random data. For
+ // example, the output of ``openssl rand 80``.
+ //
+ // .. attention::
+ //
+ // Using this feature has serious security considerations and risks. Improper handling of keys
+ // may result in loss of secrecy in connections, even if ciphers supporting perfect forward
+ // secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
+ // discussion. To minimize the risk, you must:
+ //
+ // * Keep the session ticket keys at least as secure as your TLS certificate private keys
+ // * Rotate session ticket keys at least daily, and preferably hourly
+ // * Always generate keys using a cryptographically-secure random data source
+ repeated core.DataSource keys = 1 [(validate.rules).repeated .min_items = 1];
+}
+
+message CertificateValidationContext {
+ // TLS certificate data containing certificate authority certificates to use in verifying
+ // a presented peer certificate (e.g. server certificate for clusters or client certificate
+ // for listeners). If not specified and a peer certificate is presented it will not be
+ // verified. By default, a client certificate is optional, unless one of the additional
+ // options (:ref:`require_client_certificate
+ // <envoy_api_field_auth.DownstreamTlsContext.require_client_certificate>`,
+ // :ref:`verify_certificate_spki
+ // <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>`,
+ // :ref:`verify_certificate_hash
+ // <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>`, or
+ // :ref:`verify_subject_alt_name
+ // <envoy_api_field_auth.CertificateValidationContext.verify_subject_alt_name>`) is also
+ // specified.
+ //
+ // It can optionally contain certificate revocation lists, in which case Envoy will verify
+ // that the presented peer certificate has not been revoked by one of the included CRLs.
+ //
+ // See :ref:`the TLS overview <arch_overview_ssl_enabling_verification>` for a list of common
+ // system CA locations.
+ core.DataSource trusted_ca = 1;
+
+ // An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
+ // SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
+ // matches one of the specified values.
+ //
+ // A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
+ // can be generated with the following command:
+ //
+ // .. code-block:: bash
+ //
+ // $ openssl x509 -in path/to/client.crt -noout -pubkey \
+ // | openssl pkey -pubin -outform DER \
+ // | openssl dgst -sha256 -binary \
+ // | openssl enc -base64
+ // NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
+ //
+ // This is the format used in HTTP Public Key Pinning.
+ //
+ // When both:
+ // :ref:`verify_certificate_hash
+ // <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>` and
+ // :ref:`verify_certificate_spki
+ // <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>` are specified,
+ // a hash matching value from either of the lists will result in the certificate being accepted.
+ //
+ // .. attention::
+ //
+ // This option is preferred over :ref:`verify_certificate_hash
+ // <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>`,
+ // because SPKI is tied to a private key, so it doesn't change when the certificate
+ // is renewed using the same private key.
+ repeated string verify_certificate_spki = 3
+ [(validate.rules).repeated .items.string = {min_bytes: 44, max_bytes: 44}];
+
+ // An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
+ // the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
+ //
+ // A hex-encoded SHA-256 of the certificate can be generated with the following command:
+ //
+ // .. code-block:: bash
+ //
+ // $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
+ // df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
+ //
+ // A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
+ // can be generated with the following command:
+ //
+ // .. code-block:: bash
+ //
+ // $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
+ // DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
+ //
+ // Both of those formats are acceptable.
+ //
+ // When both:
+ // :ref:`verify_certificate_hash
+ // <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>` and
+ // :ref:`verify_certificate_spki
+ // <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>` are specified,
+ // a hash matching value from either of the lists will result in the certificate being accepted.
+ repeated string verify_certificate_hash = 2
+ [(validate.rules).repeated .items.string = {min_bytes: 64, max_bytes: 95}];
+
+ // An optional list of Subject Alternative Names. If specified, Envoy will verify that the
+ // Subject Alternative Name of the presented certificate matches one of the specified values.
+ //
+ // .. attention::
+ //
+ // Subject Alternative Names are easily spoofable and verifying only them is insecure,
+ // therefore this option must be used together with :ref:`trusted_ca
+ // <envoy_api_field_auth.CertificateValidationContext.trusted_ca>`.
+ repeated string verify_subject_alt_name = 4;
+
+ // [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
+ google.protobuf.BoolValue require_ocsp_staple = 5;
+
+ // [#not-implemented-hide:] Must present signed certificate time-stamp.
+ google.protobuf.BoolValue require_signed_certificate_timestamp = 6;
+
+ // An optional `certificate revocation list
+ // <http://https://en.wikipedia.org/wiki/Certificate_revocation_list>`_
+ // (in PEM format). If specified, Envoy will verify that the presented peer
+ // certificate has not been revoked by this CRL. If this DataSource contains
+ // multiple CRLs, all of them will be used.
+ core.DataSource crl = 7;
+
+ // If specified, Envoy will not reject expired certificates.
+ bool allow_expired_certificate = 8;
+}
+
+// TLS context shared by both client and server TLS contexts.
+message CommonTlsContext {
+ // TLS protocol versions, cipher suites etc.
+ TlsParameters tls_params = 1;
+
+ // Multiple TLS certificates can be associated with the same context.
+ // E.g. to allow both RSA and ECDSA certificates, two TLS certificates can be configured.
+ //
+ // Only a single TLS certificate is supported in client contexts. In server contexts, the first
+ // RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
+ // used for clients that support ECDSA.
+ repeated TlsCertificate tls_certificates = 2;
+
+ // Configs for fetching TLS certificates via SDS API.
+ repeated SdsSecretConfig tls_certificate_sds_secret_configs = 6;
+
+ message CombinedCertificateValidationContext {
+ // How to validate peer certificates.
+ CertificateValidationContext default_validation_context = 1
+ [(validate.rules).message.required = true];
+
+ // Config for fetching validation context via SDS API.
+ SdsSecretConfig validation_context_sds_secret_config = 2
+ [(validate.rules).message.required = true];
+ };
+
+ oneof validation_context_type {
+ // How to validate peer certificates.
+ CertificateValidationContext validation_context = 3;
+
+ // Config for fetching validation context via SDS API.
+ SdsSecretConfig validation_context_sds_secret_config = 7;
+
+ // Combined certificate validation context holds a default CertificateValidationContext
+ // and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
+ // and default CertificateValidationContext are merged into a new CertificateValidationContext
+ // for validation. This merge is done by Message::MergeFrom(), so dynamic
+ // CertificateValidationContext overwrites singular fields in default
+ // CertificateValidationContext, and concatenates repeated fields to default
+ // CertificateValidationContext, and logical OR is applied to boolean fields.
+ CombinedCertificateValidationContext combined_validation_context = 8;
+ }
+
+ // Supplies the list of ALPN protocols that the listener should expose. In
+ // practice this is likely to be set to one of two values (see the
+ // :ref:`codec_type
+ // <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type>`
+ // parameter in the HTTP connection manager for more information):
+ //
+ // * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
+ // * "http/1.1" If the listener is only going to support HTTP/1.1.
+ //
+ // There is no default for this parameter. If empty, Envoy will not expose ALPN.
+ repeated string alpn_protocols = 4;
+
+ reserved 5;
+}
+
+message UpstreamTlsContext {
+ // Common TLS context settings.
+ CommonTlsContext common_tls_context = 1;
+
+ // SNI string to use when creating TLS backend connections.
+ string sni = 2 [(validate.rules).string.max_bytes = 255];
+
+ // If true, server-initiated TLS renegotiation will be allowed.
+ //
+ // .. attention::
+ //
+ // TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary.
+ bool allow_renegotiation = 3;
+
+ // Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
+ // for TLSv1.2 and older) to store for the purpose of session resumption.
+ //
+ // Defaults to 1, setting this to 0 disables session resumption.
+ google.protobuf.UInt32Value max_session_keys = 4;
+}
+
+message DownstreamTlsContext {
+ // Common TLS context settings.
+ CommonTlsContext common_tls_context = 1;
+
+ // If specified, Envoy will reject connections without a valid client
+ // certificate.
+ google.protobuf.BoolValue require_client_certificate = 2;
+
+ // If specified, Envoy will reject connections without a valid and matching SNI.
+ // [#not-implemented-hide:]
+ google.protobuf.BoolValue require_sni = 3;
+
+ oneof session_ticket_keys_type {
+ // TLS session ticket key settings.
+ TlsSessionTicketKeys session_ticket_keys = 4;
+
+ // [#not-implemented-hide:]
+ SdsSecretConfig session_ticket_keys_sds_secret_config = 5;
+ }
+}
+
+// [#proto-status: experimental]
+message SdsSecretConfig {
+ // Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ // When both name and config are specified, then secret can be fetched and/or reloaded via SDS.
+ // When only name is specified, then secret will be loaded from static resources [V2-API-DIFF].
+ string name = 1;
+ core.ConfigSource sds_config = 2;
+}
+
+// [#proto-status: experimental]
+message Secret {
+ // Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
+ string name = 1;
+ oneof type {
+ TlsCertificate tls_certificate = 2;
+ TlsSessionTicketKeys session_ticket_keys = 3;
+ CertificateValidationContext validation_context = 4;
+ }
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/cds.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/cds.proto
new file mode 100644
index 000000000..71885fb43
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/cds.proto
@@ -0,0 +1,561 @@
+syntax = "proto3";
+
+package envoy.api.v2;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2";
+option java_multiple_files = true;
+
+option java_generic_services = true;
+
+import "envoy/api/v2/core/address.proto";
+import "envoy/api/v2/auth/cert.proto";
+import "envoy/api/v2/core/base.proto";
+import "envoy/api/v2/core/config_source.proto";
+import "envoy/api/v2/discovery.proto";
+import "envoy/api/v2/core/health_check.proto";
+import "envoy/api/v2/core/protocol.proto";
+import "envoy/api/v2/cluster/circuit_breaker.proto";
+import "envoy/api/v2/cluster/outlier_detection.proto";
+import "envoy/api/v2/eds.proto";
+import "envoy/type/percent.proto";
+
+import "google/api/annotations.proto";
+import "google/protobuf/any.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// Return list of all clusters this proxy will load balance to.
+service ClusterDiscoveryService {
+ rpc StreamClusters(stream DiscoveryRequest) returns (stream DiscoveryResponse) {
+ }
+
+ rpc IncrementalClusters(stream IncrementalDiscoveryRequest)
+ returns (stream IncrementalDiscoveryResponse) {
+ }
+
+ rpc FetchClusters(DiscoveryRequest) returns (DiscoveryResponse) {
+ option (google.api.http) = {
+ post: "/v2/discovery:clusters"
+ body: "*"
+ };
+ }
+}
+
+// [#protodoc-title: Clusters]
+
+// Configuration for a single upstream cluster.
+// [#comment:next free field: 38]
+message Cluster {
+ // Supplies the name of the cluster which must be unique across all clusters.
+ // The cluster name is used when emitting
+ // :ref:`statistics <config_cluster_manager_cluster_stats>` if :ref:`alt_stat_name
+ // <envoy_api_field_Cluster.alt_stat_name>` is not provided.
+ // Any ``:`` in the cluster name will be converted to ``_`` when emitting statistics.
+ // By default, the maximum length of a cluster name is limited to 60
+ // characters. This limit can be increased by setting the
+ // :option:`--max-obj-name-len` command line argument to the desired value.
+ string name = 1 [(validate.rules).string.min_bytes = 1];
+
+ // An optional alternative to the cluster name to be used while emitting stats.
+ // Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be
+ // confused with :ref:`Router Filter Header
+ // <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
+ string alt_stat_name = 28;
+
+ // Refer to :ref:`service discovery type <arch_overview_service_discovery_types>`
+ // for an explanation on each type.
+ enum DiscoveryType {
+ // Refer to the :ref:`static discovery type<arch_overview_service_discovery_types_static>`
+ // for an explanation.
+ STATIC = 0;
+
+ // Refer to the :ref:`strict DNS discovery
+ // type<arch_overview_service_discovery_types_strict_dns>`
+ // for an explanation.
+ STRICT_DNS = 1;
+
+ // Refer to the :ref:`logical DNS discovery
+ // type<arch_overview_service_discovery_types_logical_dns>`
+ // for an explanation.
+ LOGICAL_DNS = 2;
+
+ // Refer to the :ref:`service discovery type<arch_overview_service_discovery_types_eds>`
+ // for an explanation.
+ EDS = 3;
+
+ // Refer to the :ref:`original destination discovery
+ // type<arch_overview_service_discovery_types_original_destination>`
+ // for an explanation.
+ ORIGINAL_DST = 4;
+ }
+ // The :ref:`service discovery type <arch_overview_service_discovery_types>`
+ // to use for resolving the cluster.
+ DiscoveryType type = 2 [(validate.rules).enum.defined_only = true];
+
+ // Only valid when discovery type is EDS.
+ message EdsClusterConfig {
+ // Configuration for the source of EDS updates for this Cluster.
+ core.ConfigSource eds_config = 1;
+
+ // Optional alternative to cluster name to present to EDS. This does not
+ // have the same restrictions as cluster name, i.e. it may be arbitrary
+ // length.
+ string service_name = 2;
+ }
+ // Configuration to use for EDS updates for the Cluster.
+ EdsClusterConfig eds_cluster_config = 3;
+
+ // The timeout for new network connections to hosts in the cluster.
+ google.protobuf.Duration connect_timeout = 4 [
+ (validate.rules).duration.gt = {}
+ ];
+
+ // Soft limit on size of the cluster’s connections read and write buffers. If
+ // unspecified, an implementation defined default is applied (1MiB).
+ google.protobuf.UInt32Value per_connection_buffer_limit_bytes = 5;
+
+ // Refer to :ref:`load balancer type <arch_overview_load_balancing_types>` architecture
+ // overview section for information on each type.
+ enum LbPolicy {
+
+ // Refer to the :ref:`round robin load balancing
+ // policy<arch_overview_load_balancing_types_round_robin>`
+ // for an explanation.
+ ROUND_ROBIN = 0;
+
+ // Refer to the :ref:`least request load balancing
+ // policy<arch_overview_load_balancing_types_least_request>`
+ // for an explanation.
+ LEAST_REQUEST = 1;
+
+ // Refer to the :ref:`ring hash load balancing
+ // policy<arch_overview_load_balancing_types_ring_hash>`
+ // for an explanation.
+ RING_HASH = 2;
+
+ // Refer to the :ref:`random load balancing
+ // policy<arch_overview_load_balancing_types_random>`
+ // for an explanation.
+ RANDOM = 3;
+
+ // Refer to the :ref:`original destination load balancing
+ // policy<arch_overview_load_balancing_types_original_destination>`
+ // for an explanation.
+ ORIGINAL_DST_LB = 4;
+
+ // Refer to the :ref:`Maglev load balancing policy<arch_overview_load_balancing_types_maglev>`
+ // for an explanation.
+ MAGLEV = 5;
+ }
+ // The :ref:`load balancer type <arch_overview_load_balancing_types>` to use
+ // when picking a host in the cluster.
+ LbPolicy lb_policy = 6 [(validate.rules).enum.defined_only = true];
+
+ // If the service discovery type is
+ // :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
+ // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
+ // or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
+ // then hosts is required.
+ //
+ // .. attention::
+ //
+ // **This field is deprecated**. Set the
+ // :ref:`load_assignment<envoy_api_field_Cluster.load_assignment>` field instead.
+ //
+ repeated core.Address hosts = 7 [deprecated = true];
+
+ // Setting this is required for specifying members of
+ // :ref:`STATIC<envoy_api_enum_value_Cluster.DiscoveryType.STATIC>`,
+ // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
+ // or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>` clusters.
+ // This field supersedes :ref:`hosts<envoy_api_field_Cluster.hosts>` field.
+ // [#comment:TODO(dio): Deprecate the hosts field and add it to DEPRECATED.md
+ // once load_assignment is implemented.]
+ //
+ // .. attention::
+ //
+ // Setting this allows non-EDS cluster types to contain embedded EDS equivalent
+ // :ref:`endpoint assignments<envoy_api_msg_ClusterLoadAssignment>`.
+ // Setting this overrides :ref:`hosts<envoy_api_field_Cluster.hosts>` values.
+ //
+ ClusterLoadAssignment load_assignment = 33;
+
+ // Optional :ref:`active health checking <arch_overview_health_checking>`
+ // configuration for the cluster. If no
+ // configuration is specified no health checking will be done and all cluster
+ // members will be considered healthy at all times.
+ repeated core.HealthCheck health_checks = 8;
+
+ // Optional maximum requests for a single upstream connection. This parameter
+ // is respected by both the HTTP/1.1 and HTTP/2 connection pool
+ // implementations. If not specified, there is no limit. Setting this
+ // parameter to 1 will effectively disable keep alive.
+ google.protobuf.UInt32Value max_requests_per_connection = 9;
+
+ // Optional :ref:`circuit breaking <arch_overview_circuit_break>` for the cluster.
+ cluster.CircuitBreakers circuit_breakers = 10;
+
+ // The TLS configuration for connections to the upstream cluster. If no TLS
+ // configuration is specified, TLS will not be used for new connections.
+ //
+ // .. attention::
+ //
+ // Server certificate verification is not enabled by default. Configure
+ // :ref:`trusted_ca<envoy_api_field_auth.CertificateValidationContext.trusted_ca>` to enable
+ // verification.
+ auth.UpstreamTlsContext tls_context = 11;
+
+ reserved 12;
+
+ // Additional options when handling HTTP requests. These options will be applicable to both
+ // HTTP1 and HTTP2 requests.
+ core.HttpProtocolOptions common_http_protocol_options = 29;
+
+ // Additional options when handling HTTP1 requests.
+ core.Http1ProtocolOptions http_protocol_options = 13;
+
+ // Even if default HTTP2 protocol options are desired, this field must be
+ // set so that Envoy will assume that the upstream supports HTTP/2 when
+ // making new HTTP connection pool connections. Currently, Envoy only
+ // supports prior knowledge for upstream connections. Even if TLS is used
+ // with ALPN, `http2_protocol_options` must be specified. As an aside this allows HTTP/2
+ // connections to happen over plain text.
+ core.Http2ProtocolOptions http2_protocol_options = 14;
+
+ // The extension_protocol_options field is used to provide extension-specific protocol options
+ // for upstream connections. The key should match the extension filter name, such as
+ // "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ // specific options.
+ map<string, google.protobuf.Struct> extension_protocol_options = 35;
+
+ // [#not-implemented-hide:]
+ // The extension_protocol_options field is used to provide extension-specific protocol options
+ // for upstream connections. The key should match the extension filter name, such as
+ // "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
+ // specific options.
+ map<string, google.protobuf.Any> typed_extension_protocol_options = 36;
+
+ reserved 15;
+
+ // If the DNS refresh rate is specified and the cluster type is either
+ // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
+ // or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
+ // this value is used as the cluster’s DNS refresh
+ // rate. If this setting is not specified, the value defaults to 5000ms. For
+ // cluster types other than
+ // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
+ // and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
+ // this setting is ignored.
+ google.protobuf.Duration dns_refresh_rate = 16
+ [(validate.rules).duration.gt = {}];
+
+ // When V4_ONLY is selected, the DNS resolver will only perform a lookup for
+ // addresses in the IPv4 family. If V6_ONLY is selected, the DNS resolver will
+ // only perform a lookup for addresses in the IPv6 family. If AUTO is
+ // specified, the DNS resolver will first perform a lookup for addresses in
+ // the IPv6 family and fallback to a lookup for addresses in the IPv4 family.
+ // For cluster types other than
+ // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>` and
+ // :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
+ // this setting is
+ // ignored.
+ enum DnsLookupFamily {
+ AUTO = 0;
+ V4_ONLY = 1;
+ V6_ONLY = 2;
+ }
+
+ // The DNS IP address resolution policy. If this setting is not specified, the
+ // value defaults to
+ // :ref:`AUTO<envoy_api_enum_value_Cluster.DnsLookupFamily.AUTO>`.
+ DnsLookupFamily dns_lookup_family = 17 [(validate.rules).enum.defined_only = true];
+
+ // If DNS resolvers are specified and the cluster type is either
+ // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`,
+ // or :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`,
+ // this value is used to specify the cluster’s dns resolvers.
+ // If this setting is not specified, the value defaults to the default
+ // resolver, which uses /etc/resolv.conf for configuration. For cluster types
+ // other than
+ // :ref:`STRICT_DNS<envoy_api_enum_value_Cluster.DiscoveryType.STRICT_DNS>`
+ // and :ref:`LOGICAL_DNS<envoy_api_enum_value_Cluster.DiscoveryType.LOGICAL_DNS>`
+ // this setting is ignored.
+ repeated core.Address dns_resolvers = 18;
+
+ // If specified, outlier detection will be enabled for this upstream cluster.
+ // Each of the configuration values can be overridden via
+ // :ref:`runtime values <config_cluster_manager_cluster_runtime_outlier_detection>`.
+ cluster.OutlierDetection outlier_detection = 19;
+
+ // The interval for removing stale hosts from a cluster type
+ // :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`.
+ // Hosts are considered stale if they have not been used
+ // as upstream destinations during this interval. New hosts are added
+ // to original destination clusters on demand as new connections are
+ // redirected to Envoy, causing the number of hosts in the cluster to
+ // grow over time. Hosts that are not stale (they are actively used as
+ // destinations) are kept in the cluster, which allows connections to
+ // them remain open, saving the latency that would otherwise be spent
+ // on opening new connections. If this setting is not specified, the
+ // value defaults to 5000ms. For cluster types other than
+ // :ref:`ORIGINAL_DST<envoy_api_enum_value_Cluster.DiscoveryType.ORIGINAL_DST>`
+ // this setting is ignored.
+ google.protobuf.Duration cleanup_interval = 20
+ [(validate.rules).duration.gt = {}];
+
+ // Optional configuration used to bind newly established upstream connections.
+ // This overrides any bind_config specified in the bootstrap proto.
+ // If the address and port are empty, no bind will be performed.
+ core.BindConfig upstream_bind_config = 21;
+
+ // Optionally divide the endpoints in this cluster into subsets defined by
+ // endpoint metadata and selected by route and weighted cluster metadata.
+ message LbSubsetConfig {
+
+ // If NO_FALLBACK is selected, a result
+ // equivalent to no healthy hosts is reported. If ANY_ENDPOINT is selected,
+ // any cluster endpoint may be returned (subject to policy, health checks,
+ // etc). If DEFAULT_SUBSET is selected, load balancing is performed over the
+ // endpoints matching the values from the default_subset field.
+ enum LbSubsetFallbackPolicy {
+ NO_FALLBACK = 0;
+ ANY_ENDPOINT = 1;
+ DEFAULT_SUBSET = 2;
+ }
+
+ // The behavior used when no endpoint subset matches the selected route's
+ // metadata. The value defaults to
+ // :ref:`NO_FALLBACK<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
+ LbSubsetFallbackPolicy fallback_policy = 1 [(validate.rules).enum.defined_only = true];
+
+ // Specifies the default subset of endpoints used during fallback if
+ // fallback_policy is
+ // :ref:`DEFAULT_SUBSET<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.DEFAULT_SUBSET>`.
+ // Each field in default_subset is
+ // compared to the matching LbEndpoint.Metadata under the *envoy.lb*
+ // namespace. It is valid for no hosts to match, in which case the behavior
+ // is the same as a fallback_policy of
+ // :ref:`NO_FALLBACK<envoy_api_enum_value_Cluster.LbSubsetConfig.LbSubsetFallbackPolicy.NO_FALLBACK>`.
+ google.protobuf.Struct default_subset = 2;
+
+ // Specifications for subsets.
+ message LbSubsetSelector {
+ // List of keys to match with the weighted cluster metadata.
+ repeated string keys = 1;
+ }
+
+ // For each entry, LbEndpoint.Metadata's
+ // *envoy.lb* namespace is traversed and a subset is created for each unique
+ // combination of key and value. For example:
+ //
+ // .. code-block:: json
+ //
+ // { "subset_selectors": [
+ // { "keys": [ "version" ] },
+ // { "keys": [ "stage", "hardware_type" ] }
+ // ]}
+ //
+ // A subset is matched when the metadata from the selected route and
+ // weighted cluster contains the same keys and values as the subset's
+ // metadata. The same host may appear in multiple subsets.
+ repeated LbSubsetSelector subset_selectors = 3;
+
+ // If true, routing to subsets will take into account the localities and locality weights of the
+ // endpoints when making the routing decision.
+ //
+ // There are some potential pitfalls associated with enabling this feature, as the resulting
+ // traffic split after applying both a subset match and locality weights might be undesirable.
+ //
+ // Consider for example a situation in which you have 50/50 split across two localities X/Y
+ // which have 100 hosts each without subsetting. If the subset LB results in X having only 1
+ // host selected but Y having 100, then a lot more load is being dumped on the single host in X
+ // than originally anticipated in the load balancing assignment delivered via EDS.
+ bool locality_weight_aware = 4;
+
+ // When used with locality_weight_aware, scales the weight of each locality by the ratio
+ // of hosts in the subset vs hosts in the original subset. This aims to even out the load
+ // going to an individual locality if said locality is disproportionally affected by the
+ // subset predicate.
+ bool scale_locality_weight = 5;
+ }
+
+ // Configuration for load balancing subsetting.
+ LbSubsetConfig lb_subset_config = 22;
+
+ // Specific configuration for the LeastRequest load balancing policy.
+ message LeastRequestLbConfig {
+ // The number of random healthy hosts from which the host with the fewest active requests will
+ // be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
+ google.protobuf.UInt32Value choice_count = 1 [(validate.rules).uint32.gte = 2];
+ }
+
+ // Specific configuration for the :ref:`RingHash<arch_overview_load_balancing_types_ring_hash>`
+ // load balancing policy.
+ message RingHashLbConfig {
+ // Minimum hash ring size, i.e. total virtual nodes. A larger size
+ // will provide better request distribution since each host in the
+ // cluster will have more virtual nodes. Defaults to 1024. In the case
+ // that total number of hosts is greater than the minimum, each host will
+ // be allocated a single virtual node. This field is limited to 8M to bound
+ // resource use.
+ google.protobuf.UInt64Value minimum_ring_size = 1 [(validate.rules).uint64.lte = 8388608];
+
+ // [#not-implemented-hide:] Hide from docs.
+ message DeprecatedV1 {
+ // Defaults to false, meaning that `xxHash <https://github.com/Cyan4973/xxHash>`_
+ // is to hash hosts onto the ketama ring.
+ google.protobuf.BoolValue use_std_hash = 1;
+ }
+
+ // Deprecated settings from v1 config.
+ // [#not-implemented-hide:] Hide from docs.
+ DeprecatedV1 deprecated_v1 = 2 [deprecated = true];
+ }
+
+ // Specific configuration for the
+ // :ref:`Original Destination <arch_overview_load_balancing_types_original_destination>`
+ // load balancing policy.
+ message OriginalDstLbConfig {
+ // When true, :ref:`x-envoy-orignal-dst-host
+ // <config_http_conn_man_headers_x-envoy-original-dst-host>` can be used to override destination
+ // address.
+ //
+ // .. attention::
+ //
+ // This header isn't sanitized by default, so enabling this feature allows HTTP clients to
+ // route traffic to arbitrary hosts and/or ports, which may have serious security
+ // consequences.
+ bool use_http_header = 1;
+ }
+
+ // Optional configuration for the load balancing algorithm selected by
+ // LbPolicy. Currently only
+ // :ref:`RING_HASH<envoy_api_enum_value_Cluster.LbPolicy.RING_HASH>` and
+ // :ref:`LEAST_REQUEST<envoy_api_enum_value_Cluster.LbPolicy.LEAST_REQUEST>`
+ // has additional configuration options.
+ // Specifying ring_hash_lb_config or least_request_lb_config without setting the corresponding
+ // LbPolicy will generate an error at runtime.
+ oneof lb_config {
+ // Optional configuration for the Ring Hash load balancing policy.
+ RingHashLbConfig ring_hash_lb_config = 23;
+ // Optional configuration for the Original Destination load balancing policy.
+ OriginalDstLbConfig original_dst_lb_config = 34;
+ // Optional configuration for the LeastRequest load balancing policy.
+ LeastRequestLbConfig least_request_lb_config = 37;
+ }
+
+ // Common configuration for all load balancer implementations.
+ message CommonLbConfig {
+ // Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
+ // If not specified, the default is 50%.
+ //
+ // .. note::
+ // The specified percent will be truncated to the nearest 1%.
+ envoy.type.Percent healthy_panic_threshold = 1;
+ // Configuration for :ref:`zone aware routing
+ // <arch_overview_load_balancing_zone_aware_routing>`.
+ message ZoneAwareLbConfig {
+ // Configures percentage of requests that will be considered for zone aware routing
+ // if zone aware routing is configured. If not specified, the default is 100%.
+ // * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
+ // * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
+ envoy.type.Percent routing_enabled = 1;
+ // Configures minimum upstream cluster size required for zone aware routing
+ // If upstream cluster size is less than specified, zone aware routing is not performed
+ // even if zone aware routing is configured. If not specified, the default is 6.
+ // * :ref:`runtime values <config_cluster_manager_cluster_runtime_zone_routing>`.
+ // * :ref:`Zone aware routing support <arch_overview_load_balancing_zone_aware_routing>`.
+ google.protobuf.UInt64Value min_cluster_size = 2;
+ }
+ // Configuration for :ref:`locality weighted load balancing
+ // <arch_overview_load_balancing_locality_weighted_lb>`
+ message LocalityWeightedLbConfig {
+ }
+ oneof locality_config_specifier {
+ ZoneAwareLbConfig zone_aware_lb_config = 2;
+ LocalityWeightedLbConfig locality_weighted_lb_config = 3;
+ }
+ // If set, all health check/weight/metadata updates that happen within this duration will be
+ // merged and delivered in one shot when the duration expires. The start of the duration is when
+ // the first update happens. This is useful for big clusters, with potentially noisy deploys
+ // that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
+ // or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
+ // cluster).
+ //
+ // If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
+ // window to 0.
+ //
+ // Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
+ // because merging those updates isn't currently safe. See
+ // https://github.com/envoyproxy/envoy/pull/3941.
+ google.protobuf.Duration update_merge_window = 4;
+ }
+
+ // Common configuration for all load balancer implementations.
+ CommonLbConfig common_lb_config = 27;
+
+ // Optional custom transport socket implementation to use for upstream connections.
+ core.TransportSocket transport_socket = 24;
+
+ // The Metadata field can be used to provide additional information about the
+ // cluster. It can be used for stats, logging, and varying filter behavior.
+ // Fields should use reverse DNS notation to denote which entity within Envoy
+ // will need the information. For instance, if the metadata is intended for
+ // the Router filter, the filter name should be specified as *envoy.router*.
+ core.Metadata metadata = 25;
+
+ enum ClusterProtocolSelection {
+ // Cluster can only operate on one of the possible upstream protocols (HTTP1.1, HTTP2).
+ // If :ref:`http2_protocol_options <envoy_api_field_Cluster.http2_protocol_options>` are
+ // present, HTTP2 will be used, otherwise HTTP1.1 will be used.
+ USE_CONFIGURED_PROTOCOL = 0;
+ // Use HTTP1.1 or HTTP2, depending on which one is used on the downstream connection.
+ USE_DOWNSTREAM_PROTOCOL = 1;
+ }
+
+ // Determines how Envoy selects the protocol used to speak to upstream hosts.
+ ClusterProtocolSelection protocol_selection = 26;
+
+ // Optional options for upstream connections.
+ envoy.api.v2.UpstreamConnectionOptions upstream_connection_options = 30;
+
+ // If an upstream host becomes unhealthy (as determined by the configured health checks
+ // or outlier detection), immediately close all connections to the failed host.
+ //
+ // .. note::
+ //
+ // This is currently only supported for connections created by tcp_proxy.
+ //
+ // .. note::
+ //
+ // The current implementation of this feature closes all connections immediately when
+ // the unhealthy status is detected. If there are a large number of connections open
+ // to an upstream host that becomes unhealthy, Envoy may spend a substantial amount of
+ // time exclusively closing these connections, and not processing any other traffic.
+ bool close_connections_on_host_health_failure = 31;
+
+ // If this cluster uses EDS or STRICT_DNS to configure its hosts, immediately drain
+ // connections from any hosts that are removed from service discovery.
+ //
+ // This only affects behavior for hosts that are being actively health checked.
+ // If this flag is not set to true, Envoy will wait until the hosts fail active health
+ // checking before removing it from the cluster.
+ bool drain_connections_on_host_removal = 32;
+}
+
+// An extensible structure containing the address Envoy should bind to when
+// establishing upstream connections.
+message UpstreamBindConfig {
+ // The address Envoy should bind to when establishing upstream connections.
+ core.Address source_address = 1;
+}
+
+message UpstreamConnectionOptions {
+ // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
+ core.TcpKeepalive tcp_keepalive = 1;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/cluster/circuit_breaker.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/cluster/circuit_breaker.proto
new file mode 100644
index 000000000..76bd24fcf
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/cluster/circuit_breaker.proto
@@ -0,0 +1,55 @@
+syntax = "proto3";
+
+package envoy.api.v2.cluster;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.cluster";
+option java_multiple_files = true;
+option go_package = "cluster";
+option csharp_namespace = "Envoy.Api.V2.ClusterNS";
+
+import "envoy/api/v2/core/base.proto";
+
+import "google/protobuf/wrappers.proto";
+
+
+
+
+
+// [#protodoc-title: Circuit breakers]
+
+// :ref:`Circuit breaking<arch_overview_circuit_break>` settings can be
+// specified individually for each defined priority.
+message CircuitBreakers {
+
+ // A Thresholds defines CircuitBreaker settings for a
+ // :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`.
+ message Thresholds {
+ // The :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`
+ // the specified CircuitBreaker settings apply to.
+ // [#comment:TODO(htuch): add (validate.rules).enum.defined_only = true once
+ // https://github.com/lyft/protoc-gen-validate/issues/42 is resolved.]
+ core.RoutingPriority priority = 1;
+
+ // The maximum number of connections that Envoy will make to the upstream
+ // cluster. If not specified, the default is 1024.
+ google.protobuf.UInt32Value max_connections = 2;
+
+ // The maximum number of pending requests that Envoy will allow to the
+ // upstream cluster. If not specified, the default is 1024.
+ google.protobuf.UInt32Value max_pending_requests = 3;
+
+ // The maximum number of parallel requests that Envoy will make to the
+ // upstream cluster. If not specified, the default is 1024.
+ google.protobuf.UInt32Value max_requests = 4;
+
+ // The maximum number of parallel retries that Envoy will allow to the
+ // upstream cluster. If not specified, the default is 3.
+ google.protobuf.UInt32Value max_retries = 5;
+ }
+
+ // If multiple :ref:`Thresholds<envoy_api_msg_cluster.CircuitBreakers.Thresholds>`
+ // are defined with the same :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`,
+ // the first one in the list is used. If no Thresholds is defined for a given
+ // :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`, the default values
+ // are used.
+ repeated Thresholds thresholds = 1;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/cluster/outlier_detection.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/cluster/outlier_detection.proto
new file mode 100644
index 000000000..6d223b0ab
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/cluster/outlier_detection.proto
@@ -0,0 +1,81 @@
+syntax = "proto3";
+
+package envoy.api.v2.cluster;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.cluster";
+option java_multiple_files = true;
+option csharp_namespace = "Envoy.Api.V2.ClusterNS";
+
+import "google/protobuf/duration.proto";
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: Outlier detection]
+
+// See the :ref:`architecture overview <arch_overview_outlier_detection>` for
+// more information on outlier detection.
+message OutlierDetection {
+ // The number of consecutive 5xx responses before a consecutive 5xx ejection
+ // occurs. Defaults to 5.
+ google.protobuf.UInt32Value consecutive_5xx = 1;
+
+ // The time interval between ejection analysis sweeps. This can result in
+ // both new ejections as well as hosts being returned to service. Defaults
+ // to 10000ms or 10s.
+ google.protobuf.Duration interval = 2 [(validate.rules).duration.gt = {}];
+
+ // The base time that a host is ejected for. The real time is equal to the
+ // base time multiplied by the number of times the host has been ejected.
+ // Defaults to 30000ms or 30s.
+ google.protobuf.Duration base_ejection_time = 3 [(validate.rules).duration.gt = {}];
+
+ // The maximum % of an upstream cluster that can be ejected due to outlier
+ // detection. Defaults to 10% but will eject at least one host regardless of the value.
+ google.protobuf.UInt32Value max_ejection_percent = 4 [(validate.rules).uint32.lte = 100];
+
+ // The % chance that a host will be actually ejected when an outlier status
+ // is detected through consecutive 5xx. This setting can be used to disable
+ // ejection or to ramp it up slowly. Defaults to 100.
+ google.protobuf.UInt32Value enforcing_consecutive_5xx = 5 [(validate.rules).uint32.lte = 100];
+
+ // The % chance that a host will be actually ejected when an outlier status
+ // is detected through success rate statistics. This setting can be used to
+ // disable ejection or to ramp it up slowly. Defaults to 100.
+ google.protobuf.UInt32Value enforcing_success_rate = 6 [(validate.rules).uint32.lte = 100];
+
+ // The number of hosts in a cluster that must have enough request volume to
+ // detect success rate outliers. If the number of hosts is less than this
+ // setting, outlier detection via success rate statistics is not performed
+ // for any host in the cluster. Defaults to 5.
+ google.protobuf.UInt32Value success_rate_minimum_hosts = 7;
+
+ // The minimum number of total requests that must be collected in one
+ // interval (as defined by the interval duration above) to include this host
+ // in success rate based outlier detection. If the volume is lower than this
+ // setting, outlier detection via success rate statistics is not performed
+ // for that host. Defaults to 100.
+ google.protobuf.UInt32Value success_rate_request_volume = 8;
+
+ // This factor is used to determine the ejection threshold for success rate
+ // outlier ejection. The ejection threshold is the difference between the
+ // mean success rate, and the product of this factor and the standard
+ // deviation of the mean success rate: mean - (stdev *
+ // success_rate_stdev_factor). This factor is divided by a thousand to get a
+ // double. That is, if the desired factor is 1.9, the runtime value should
+ // be 1900. Defaults to 1900.
+ google.protobuf.UInt32Value success_rate_stdev_factor = 9;
+
+ // The number of consecutive gateway failures (502, 503, 504 status or
+ // connection errors that are mapped to one of those status codes) before a
+ // consecutive gateway failure ejection occurs. Defaults to 5.
+ google.protobuf.UInt32Value consecutive_gateway_failure = 10;
+
+ // The % chance that a host will be actually ejected when an outlier status
+ // is detected through consecutive gateway failures. This setting can be
+ // used to disable ejection or to ramp it up slowly. Defaults to 0.
+ google.protobuf.UInt32Value enforcing_consecutive_gateway_failure = 11
+ [(validate.rules).uint32.lte = 100];
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/address.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/address.proto
new file mode 100644
index 000000000..ef311615a
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/address.proto
@@ -0,0 +1,118 @@
+syntax = "proto3";
+
+package envoy.api.v2.core;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.core";
+option java_multiple_files = true;
+
+import "envoy/api/v2/core/base.proto";
+
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: Network addresses]
+
+message Pipe {
+ // Unix Domain Socket path. On Linux, paths starting with '@' will use the
+ // abstract namespace. The starting '@' is replaced by a null byte by Envoy.
+ // Paths starting with '@' will result in an error in environments other than
+ // Linux.
+ string path = 1 [(validate.rules).string.min_bytes = 1];
+}
+
+message SocketAddress {
+ enum Protocol {
+ TCP = 0;
+ // [#not-implemented-hide:]
+ UDP = 1;
+ }
+ Protocol protocol = 1 [(validate.rules).enum.defined_only = true];
+ // The address for this socket. :ref:`Listeners <config_listeners>` will bind
+ // to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
+ // to bind to any address. [#comment:TODO(zuercher) reinstate when implemented:
+ // It is possible to distinguish a Listener address via the prefix/suffix matching
+ // in :ref:`FilterChainMatch <envoy_api_msg_listener.FilterChainMatch>`.] When used
+ // within an upstream :ref:`BindConfig <envoy_api_msg_core.BindConfig>`, the address
+ // controls the source address of outbound connections. For :ref:`clusters
+ // <envoy_api_msg_Cluster>`, the cluster type determines whether the
+ // address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS
+ // (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized
+ // via :ref:`resolver_name <envoy_api_field_core.SocketAddress.resolver_name>`.
+ string address = 2 [(validate.rules).string.min_bytes = 1];
+ oneof port_specifier {
+ option (validate.required) = true;
+ uint32 port_value = 3 [(validate.rules).uint32.lte = 65535];
+ // This is only valid if :ref:`resolver_name
+ // <envoy_api_field_core.SocketAddress.resolver_name>` is specified below and the
+ // named resolver is capable of named port resolution.
+ string named_port = 4;
+ }
+ // The name of the resolver. This must have been registered with Envoy. If this is
+ // empty, a context dependent default applies. If address is a hostname this
+ // should be set for resolution other than DNS. If the address is a concrete
+ // IP address, no resolution will occur.
+ string resolver_name = 5;
+
+ // When binding to an IPv6 address above, this enables `IPv4 compatibity
+ // <https://tools.ietf.org/html/rfc3493#page-11>`_. Binding to ``::`` will
+ // allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
+ // IPv6 space as ``::FFFF:<IPv4-address>``.
+ bool ipv4_compat = 6;
+}
+
+message TcpKeepalive {
+ // Maximum number of keepalive probes to send without response before deciding
+ // the connection is dead. Default is to use the OS level configuration (unless
+ // overridden, Linux defaults to 9.)
+ google.protobuf.UInt32Value keepalive_probes = 1;
+ // The number of seconds a connection needs to be idle before keep-alive probes
+ // start being sent. Default is to use the OS level configuration (unless
+ // overridden, Linux defaults to 7200s (ie 2 hours.)
+ google.protobuf.UInt32Value keepalive_time = 2;
+ // The number of seconds between keep-alive probes. Default is to use the OS
+ // level configuration (unless overridden, Linux defaults to 75s.)
+ google.protobuf.UInt32Value keepalive_interval = 3;
+}
+
+message BindConfig {
+ // The address to bind to when creating a socket.
+ SocketAddress source_address = 1
+ [(validate.rules).message.required = true];
+
+ // Whether to set the *IP_FREEBIND* option when creating the socket. When this
+ // flag is set to true, allows the :ref:`source_address
+ // <envoy_api_field_UpstreamBindConfig.source_address>` to be an IP address
+ // that is not configured on the system running Envoy. When this flag is set
+ // to false, the option *IP_FREEBIND* is disabled on the socket. When this
+ // flag is not set (default), the socket is not modified, i.e. the option is
+ // neither enabled nor disabled.
+ google.protobuf.BoolValue freebind = 2;
+
+ // Additional socket options that may not be present in Envoy source code or
+ // precompiled binaries.
+ repeated SocketOption socket_options = 3;
+}
+
+// Addresses specify either a logical or physical address and port, which are
+// used to tell Envoy where to bind/listen, connect to upstream and find
+// management servers.
+message Address {
+ oneof address {
+ option (validate.required) = true;
+
+ SocketAddress socket_address = 1;
+ Pipe pipe = 2;
+ }
+}
+
+// CidrRange specifies an IP Address and a prefix length to construct
+// the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.
+message CidrRange {
+ // IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
+ string address_prefix = 1 [(validate.rules).string.min_bytes = 1];
+ // Length of prefix, e.g. 0, 32.
+ google.protobuf.UInt32Value prefix_len = 2 [(validate.rules).uint32.lte = 128];
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/base.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/base.proto
new file mode 100644
index 000000000..61f8039c1
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/base.proto
@@ -0,0 +1,240 @@
+syntax = "proto3";
+
+package envoy.api.v2.core;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.core";
+option java_multiple_files = true;
+option go_package = "core";
+
+import "google/protobuf/any.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+import "envoy/type/percent.proto";
+
+
+
+// [#protodoc-title: Common types]
+
+// Identifies location of where either Envoy runs or where upstream hosts run.
+message Locality {
+ // Region this :ref:`zone <envoy_api_field_core.Locality.zone>` belongs to.
+ string region = 1;
+
+ // Defines the local service zone where Envoy is running. Though optional, it
+ // should be set if discovery service routing is used and the discovery
+ // service exposes :ref:`zone data <envoy_api_field_endpoint.LocalityLbEndpoints.locality>`,
+ // either in this message or via :option:`--service-zone`. The meaning of zone
+ // is context dependent, e.g. `Availability Zone (AZ)
+ // <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html>`_
+ // on AWS, `Zone <https://cloud.google.com/compute/docs/regions-zones/>`_ on
+ // GCP, etc.
+ string zone = 2;
+
+ // When used for locality of upstream hosts, this field further splits zone
+ // into smaller chunks of sub-zones so they can be load balanced
+ // independently.
+ string sub_zone = 3;
+}
+
+// Identifies a specific Envoy instance. The node identifier is presented to the
+// management server, which may use this identifier to distinguish per Envoy
+// configuration for serving.
+message Node {
+ // An opaque node identifier for the Envoy node. This also provides the local
+ // service node name. It should be set if any of the following features are
+ // used: :ref:`statsd <arch_overview_statistics>`, :ref:`CDS
+ // <config_cluster_manager_cds>`, and :ref:`HTTP tracing
+ // <arch_overview_tracing>`, either in this message or via
+ // :option:`--service-node`.
+ string id = 1;
+
+ // Defines the local service cluster name where Envoy is running. Though
+ // optional, it should be set if any of the following features are used:
+ // :ref:`statsd <arch_overview_statistics>`, :ref:`health check cluster
+ // verification <envoy_api_field_core.HealthCheck.HttpHealthCheck.service_name>`,
+ // :ref:`runtime override directory <envoy_api_msg_config.bootstrap.v2.Runtime>`,
+ // :ref:`user agent addition
+ // <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.add_user_agent>`,
+ // :ref:`HTTP global rate limiting <config_http_filters_rate_limit>`,
+ // :ref:`CDS <config_cluster_manager_cds>`, and :ref:`HTTP tracing
+ // <arch_overview_tracing>`, either in this message or via
+ // :option:`--service-cluster`.
+ string cluster = 2;
+
+ // Opaque metadata extending the node identifier. Envoy will pass this
+ // directly to the management server.
+ google.protobuf.Struct metadata = 3;
+
+ // Locality specifying where the Envoy instance is running.
+ Locality locality = 4;
+
+ // This is motivated by informing a management server during canary which
+ // version of Envoy is being tested in a heterogeneous fleet. This will be set
+ // by Envoy in management server RPCs.
+ string build_version = 5;
+}
+
+// Metadata provides additional inputs to filters based on matched listeners,
+// filter chains, routes and endpoints. It is structured as a map, usually from
+// filter name (in reverse DNS format) to metadata specific to the filter. Metadata
+// key-values for a filter are merged as connection and request handling occurs,
+// with later values for the same key overriding earlier values.
+//
+// An example use of metadata is providing additional values to
+// http_connection_manager in the envoy.http_connection_manager.access_log
+// namespace.
+//
+// Another example use of metadata is to per service config info in cluster metadata, which may get
+// consumed by multiple filters.
+//
+// For load balancing, Metadata provides a means to subset cluster endpoints.
+// Endpoints have a Metadata object associated and routes contain a Metadata
+// object to match against. There are some well defined metadata used today for
+// this purpose:
+//
+// * ``{"envoy.lb": {"canary": <bool> }}`` This indicates the canary status of an
+// endpoint and is also used during header processing
+// (x-envoy-upstream-canary) and for stats purposes.
+message Metadata {
+ // Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
+ // namespace is reserved for Envoy's built-in filters.
+ map<string, google.protobuf.Struct> filter_metadata = 1;
+}
+
+// Runtime derived uint32 with a default when not specified.
+message RuntimeUInt32 {
+ // Default value if runtime value is not available.
+ uint32 default_value = 2;
+
+ // Runtime key to get value for comparison. This value is used if defined.
+ string runtime_key = 3 [(validate.rules).string.min_bytes = 1];
+}
+
+// Envoy supports :ref:`upstream priority routing
+// <arch_overview_http_routing_priority>` both at the route and the virtual
+// cluster level. The current priority implementation uses different connection
+// pool and circuit breaking settings for each priority level. This means that
+// even for HTTP/2 requests, two physical connections will be used to an
+// upstream host. In the future Envoy will likely support true HTTP/2 priority
+// over a single upstream connection.
+enum RoutingPriority {
+ DEFAULT = 0;
+ HIGH = 1;
+}
+
+// HTTP request method.
+enum RequestMethod {
+
+ METHOD_UNSPECIFIED = 0;
+ GET = 1;
+ HEAD = 2;
+ POST = 3;
+ PUT = 4;
+ DELETE = 5;
+ CONNECT = 6;
+ OPTIONS = 7;
+ TRACE = 8;
+}
+
+// Header name/value pair.
+message HeaderValue {
+ // Header name.
+ string key = 1 [(validate.rules).string = {min_bytes: 1, max_bytes: 16384}];
+
+ // Header value.
+ //
+ // The same :ref:`format specifier <config_access_log_format>` as used for
+ // :ref:`HTTP access logging <config_access_log>` applies here, however
+ // unknown header values are replaced with the empty string instead of `-`.
+ string value = 2 [(validate.rules).string.max_bytes = 16384];
+}
+
+// Header name/value pair plus option to control append behavior.
+message HeaderValueOption {
+ // Header name/value pair that this option applies to.
+ HeaderValue header = 1 [(validate.rules).message.required = true];
+
+ // Should the value be appended? If true (default), the value is appended to
+ // existing values.
+ google.protobuf.BoolValue append = 2;
+}
+
+// Data source consisting of either a file or an inline value.
+message DataSource {
+ oneof specifier {
+ option (validate.required) = true;
+
+ // Local filesystem data source.
+ string filename = 1 [(validate.rules).string.min_bytes = 1];
+
+ // Bytes inlined in the configuration.
+ bytes inline_bytes = 2 [(validate.rules).bytes.min_len = 1];
+
+ // String inlined in the configuration.
+ string inline_string = 3 [(validate.rules).string.min_bytes = 1];
+ }
+}
+
+// Configuration for transport socket in :ref:`listeners <config_listeners>` and
+// :ref:`clusters <envoy_api_msg_Cluster>`. If the configuration is
+// empty, a default transport socket implementation and configuration will be
+// chosen based on the platform and existence of tls_context.
+message TransportSocket {
+ // The name of the transport socket to instantiate. The name must match a supported transport
+ // socket implementation.
+ string name = 1 [(validate.rules).string.min_bytes = 1];
+
+ // Implementation specific configuration which depends on the implementation being instantiated.
+ // See the supported transport socket implementations for further documentation.
+ oneof config_type {
+ google.protobuf.Struct config = 2;
+
+ // [#not-implemented-hide:]
+ google.protobuf.Any typed_config = 3;
+ }
+}
+
+// Generic socket option message. This would be used to set socket options that
+// might not exist in upstream kernels or precompiled Envoy binaries.
+message SocketOption {
+ // An optional name to give this socket option for debugging, etc.
+ // Uniqueness is not required and no special meaning is assumed.
+ string description = 1;
+ // Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP
+ int64 level = 2;
+ // The numeric name as passed to setsockopt
+ int64 name = 3;
+ oneof value {
+ option (validate.required) = true;
+
+ // Because many sockopts take an int value.
+ int64 int_value = 4;
+ // Otherwise it's a byte buffer.
+ bytes buf_value = 5;
+ }
+ enum SocketState {
+ // Socket options are applied after socket creation but before binding the socket to a port
+ STATE_PREBIND = 0;
+ // Socket options are applied after binding the socket to a port but before calling listen()
+ STATE_BOUND = 1;
+ // Socket options are applied after calling listen()
+ STATE_LISTENING = 2;
+ }
+ // The state in which the option will be applied. When used in BindConfig
+ // STATE_PREBIND is currently the only valid value.
+ SocketState state = 6
+ [(validate.rules).message.required = true, (validate.rules).enum.defined_only = true];
+}
+
+// Runtime derived FractionalPercent with defaults for when the numerator or denominator is not
+// specified via a runtime key.
+message RuntimeFractionalPercent {
+ // Default value if the runtime value's for the numerator/denominator keys are not available.
+ envoy.type.FractionalPercent default_value = 1 [(validate.rules).message.required = true];
+
+ // Runtime key for a YAML representation of a FractionalPercent.
+ string runtime_key = 2;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/config_source.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/config_source.proto
new file mode 100644
index 000000000..8ecb0a556
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/config_source.proto
@@ -0,0 +1,104 @@
+syntax = "proto3";
+
+package envoy.api.v2.core;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.core";
+option java_multiple_files = true;
+
+import "envoy/api/v2/core/grpc_service.proto";
+
+import "google/protobuf/duration.proto";
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: Configuration sources]
+
+// API configuration source. This identifies the API type and cluster that Envoy
+// will use to fetch an xDS API.
+message ApiConfigSource {
+ // APIs may be fetched via either REST or gRPC.
+ enum ApiType {
+ // REST-JSON legacy corresponds to the v1 API.
+ REST_LEGACY = 0 [deprecated = true];
+ // REST-JSON v2 API. The `canonical JSON encoding
+ // <https://developers.google.com/protocol-buffers/docs/proto3#json>`_ for
+ // the v2 protos is used.
+ REST = 1;
+ // gRPC v2 API.
+ GRPC = 2;
+ }
+ ApiType api_type = 1 [(validate.rules).enum.defined_only = true];
+ // Cluster names should be used only with REST_LEGACY/REST. If > 1
+ // cluster is defined, clusters will be cycled through if any kind of failure
+ // occurs.
+ //
+ // .. note::
+ //
+ // The cluster with name ``cluster_name`` must be statically defined and its
+ // type must not be ``EDS``.
+ repeated string cluster_names = 2;
+
+ // Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
+ // services will be cycled through if any kind of failure occurs.
+ repeated GrpcService grpc_services = 4;
+
+ // For REST APIs, the delay between successive polls.
+ google.protobuf.Duration refresh_delay = 3;
+
+ // For REST APIs, the request timeout. If not set, a default value of 1s will be used.
+ google.protobuf.Duration request_timeout = 5
+ [(validate.rules).duration.gt.seconds = 0];
+
+ // For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
+ // rate limited.
+ RateLimitSettings rate_limit_settings = 6;
+}
+
+// Aggregated Discovery Service (ADS) options. This is currently empty, but when
+// set in :ref:`ConfigSource <envoy_api_msg_core.ConfigSource>` can be used to
+// specify that ADS is to be used.
+message AggregatedConfigSource {
+}
+
+// Rate Limit settings to be applied for discovery requests made by Envoy.
+message RateLimitSettings {
+ // Maximum number of tokens to be used for rate limting discovery request calls. If not set, a
+ // default value of 100 will be used.
+ google.protobuf.UInt32Value max_tokens = 1;
+
+ // Rate at which tokens will be filled per second. If not set, a default fill rate of 10 tokens
+ // per second will be used.
+ google.protobuf.DoubleValue fill_rate = 2 [(validate.rules).double.gt = 0.0];
+}
+
+// Configuration for :ref:`listeners <config_listeners>`, :ref:`clusters
+// <config_cluster_manager>`, :ref:`routes
+// <envoy_api_msg_RouteConfiguration>`, :ref:`endpoints
+// <arch_overview_service_discovery>` etc. may either be sourced from the
+// filesystem or from an xDS API source. Filesystem configs are watched with
+// inotify for updates.
+message ConfigSource {
+ oneof config_source_specifier {
+ option (validate.required) = true;
+ // Path on the filesystem to source and watch for configuration updates.
+ //
+ // .. note::
+ //
+ // The path to the source must exist at config load time.
+ //
+ // .. note::
+ //
+ // Envoy will only watch the file path for *moves.* This is because in general only moves
+ // are atomic. The same method of swapping files as is demonstrated in the
+ // :ref:`runtime documentation <config_runtime_symbolic_link_swap>` can be used here also.
+ string path = 1;
+ // API configuration source.
+ ApiConfigSource api_config_source = 2;
+ // When set, ADS will be used to fetch resources. The ADS API configuration
+ // source in the bootstrap configuration is used.
+ AggregatedConfigSource ads = 3;
+ }
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/grpc_service.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/grpc_service.proto
new file mode 100644
index 000000000..6ebc29ab9
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/grpc_service.proto
@@ -0,0 +1,172 @@
+syntax = "proto3";
+
+package envoy.api.v2.core;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.core";
+option java_multiple_files = true;
+
+import "envoy/api/v2/core/base.proto";
+
+import "google/protobuf/any.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/empty.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: gRPC services]
+
+// gRPC service configuration. This is used by :ref:`ApiConfigSource
+// <envoy_api_msg_core.ApiConfigSource>` and filter configurations.
+message GrpcService {
+ message EnvoyGrpc {
+ // The name of the upstream gRPC cluster. SSL credentials will be supplied
+ // in the :ref:`Cluster <envoy_api_msg_Cluster>` :ref:`tls_context
+ // <envoy_api_field_Cluster.tls_context>`.
+ string cluster_name = 1 [(validate.rules).string.min_bytes = 1];
+ }
+
+ // [#proto-status: draft]
+ message GoogleGrpc {
+ // The target URI when using the `Google C++ gRPC client
+ // <https://github.com/grpc/grpc>`_. SSL credentials will be supplied in
+ // :ref:`channel_credentials <envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials>`.
+ string target_uri = 1 [(validate.rules).string.min_bytes = 1];
+
+ // See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
+ message SslCredentials {
+ // PEM encoded server root certificates.
+ DataSource root_certs = 1;
+
+ // PEM encoded client private key.
+ DataSource private_key = 2;
+
+ // PEM encoded client certificate chain.
+ DataSource cert_chain = 3;
+ }
+
+ // Local channel credentials. Only UDS is supported for now.
+ // See https://github.com/grpc/grpc/pull/15909.
+ message GoogleLocalCredentials {
+ }
+
+ // See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
+ // credential types.
+ message ChannelCredentials {
+ oneof credential_specifier {
+ option (validate.required) = true;
+ SslCredentials ssl_credentials = 1;
+
+ // https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ google.protobuf.Empty google_default = 2;
+
+ GoogleLocalCredentials local_credentials = 3;
+ }
+ }
+
+ ChannelCredentials channel_credentials = 2;
+
+ message CallCredentials {
+ message ServiceAccountJWTAccessCredentials {
+ string json_key = 1;
+ uint64 token_lifetime_seconds = 2;
+ }
+
+ message GoogleIAMCredentials {
+ string authorization_token = 1;
+ string authority_selector = 2;
+ }
+
+ message MetadataCredentialsFromPlugin {
+ string name = 1;
+ oneof config_type {
+ google.protobuf.Struct config = 2;
+
+ // [#not-implemented-hide:]
+ google.protobuf.Any typed_config = 3;
+ }
+ }
+
+ oneof credential_specifier {
+ option (validate.required) = true;
+
+ // Access token credentials.
+ // https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
+ string access_token = 1;
+
+ // Google Compute Engine credentials.
+ // https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
+ google.protobuf.Empty google_compute_engine = 2;
+
+ // Google refresh token credentials.
+ // https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c.
+ string google_refresh_token = 3;
+
+ // Service Account JWT Access credentials.
+ // https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
+ ServiceAccountJWTAccessCredentials service_account_jwt_access = 4;
+
+ // Google IAM credentials.
+ // https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
+ GoogleIAMCredentials google_iam = 5;
+
+ // Custom authenticator credentials.
+ // https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
+ // https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
+ MetadataCredentialsFromPlugin from_plugin = 6;
+ }
+ }
+
+ // A set of call credentials that can be composed with `channel credentials
+ // <https://grpc.io/docs/guides/auth.html#credential-types>`_.
+ repeated CallCredentials call_credentials = 3;
+
+ // The human readable prefix to use when emitting statistics for the gRPC
+ // service.
+ //
+ // .. csv-table::
+ // :header: Name, Type, Description
+ // :widths: 1, 1, 2
+ //
+ // streams_total, Counter, Total number of streams opened
+ // streams_closed_<gRPC status code>, Counter, Total streams closed with <gRPC status code>
+ string stat_prefix = 4 [(validate.rules).string.min_bytes = 1];
+
+ // The name of the Google gRPC credentials factory to use. This must have been registered with
+ // Envoy. If this is empty, a default credentials factory will be used that sets up channel
+ // credentials based on other configuration parameters.
+ string credentials_factory_name = 5;
+
+ // Additional configuration for site-specific customizations of the Google
+ // gRPC library.
+ google.protobuf.Struct config = 6;
+ }
+
+ oneof target_specifier {
+ option (validate.required) = true;
+
+ // Envoy's in-built gRPC client.
+ // See the :ref:`gRPC services overview <arch_overview_grpc_services>`
+ // documentation for discussion on gRPC client selection.
+ EnvoyGrpc envoy_grpc = 1;
+
+ // `Google C++ gRPC client <https://github.com/grpc/grpc>`_
+ // See the :ref:`gRPC services overview <arch_overview_grpc_services>`
+ // documentation for discussion on gRPC client selection.
+ GoogleGrpc google_grpc = 2;
+ }
+
+ // The timeout for the gRPC request. This is the timeout for a specific
+ // request.
+ google.protobuf.Duration timeout = 3;
+
+ // Field 4 reserved due to moving credentials inside the GoogleGrpc message
+ reserved 4;
+
+ // Additional metadata to include in streams initiated to the GrpcService.
+ // This can be used for scenarios in which additional ad hoc authorization
+ // headers (e.g. `x-foo-bar: baz-key`) are to be injected.
+ repeated HeaderValue initial_metadata = 5;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/health_check.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/health_check.proto
new file mode 100644
index 000000000..545e3001b
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/health_check.proto
@@ -0,0 +1,249 @@
+syntax = "proto3";
+
+package envoy.api.v2.core;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.core";
+option java_multiple_files = true;
+
+import "envoy/api/v2/core/base.proto";
+
+import "google/protobuf/any.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: Health check]
+// * Health checking :ref:`architecture overview <arch_overview_health_checking>`.
+// * If health checking is configured for a cluster, additional statistics are emitted. They are
+// documented :ref:`here <config_cluster_manager_cluster_stats>`.
+
+message HealthCheck {
+ // The time to wait for a health check response. If the timeout is reached the
+ // health check attempt will be considered a failure.
+ google.protobuf.Duration timeout = 1 [
+ (validate.rules).duration = {
+ required: true,
+ gt: {seconds: 0}
+ }
+ ];
+
+ // The interval between health checks.
+ google.protobuf.Duration interval = 2 [
+ (validate.rules).duration = {
+ required: true,
+ gt: {seconds: 0}
+ }
+ ];
+
+ // An optional jitter amount in millseconds. If specified, during every
+ // interval Envoy will add interval_jitter to the wait time.
+ google.protobuf.Duration interval_jitter = 3;
+
+ // An optional jitter amount as a percentage of interval_ms. If specified,
+ // during every interval Envoy will add interval_ms *
+ // interval_jitter_percent / 100 to the wait time.
+ //
+ // If interval_jitter_ms and interval_jitter_percent are both set, both of
+ // them will be used to increase the wait time.
+ uint32 interval_jitter_percent = 18;
+
+ // The number of unhealthy health checks required before a host is marked
+ // unhealthy. Note that for *http* health checking if a host responds with 503
+ // this threshold is ignored and the host is considered unhealthy immediately.
+ google.protobuf.UInt32Value unhealthy_threshold = 4;
+
+ // The number of healthy health checks required before a host is marked
+ // healthy. Note that during startup, only a single successful health check is
+ // required to mark a host healthy.
+ google.protobuf.UInt32Value healthy_threshold = 5;
+
+ // [#not-implemented-hide:] Non-serving port for health checking.
+ google.protobuf.UInt32Value alt_port = 6;
+
+ // Reuse health check connection between health checks. Default is true.
+ google.protobuf.BoolValue reuse_connection = 7;
+
+ // Describes the encoding of the payload bytes in the payload.
+ message Payload {
+ oneof payload {
+ option (validate.required) = true;
+
+ // Hex encoded payload. E.g., "000000FF".
+ string text = 1 [(validate.rules).string.min_bytes = 1];
+
+ // [#not-implemented-hide:] Binary payload.
+ bytes binary = 2;
+ }
+ }
+
+ // [#comment:next free field: 9]
+ message HttpHealthCheck {
+ // The value of the host header in the HTTP health check request. If
+ // left empty (default value), the name of the cluster this health check is associated
+ // with will be used.
+ string host = 1;
+
+ // Specifies the HTTP path that will be requested during health checking. For example
+ // */healthcheck*.
+ string path = 2 [(validate.rules).string.min_bytes = 1];
+
+ // [#not-implemented-hide:] HTTP specific payload.
+ Payload send = 3;
+
+ // [#not-implemented-hide:] HTTP specific response.
+ Payload receive = 4;
+
+ // An optional service name parameter which is used to validate the identity of
+ // the health checked cluster. See the :ref:`architecture overview
+ // <arch_overview_health_checking_identity>` for more information.
+ string service_name = 5;
+
+ // Specifies a list of HTTP headers that should be added to each request that is sent to the
+ // health checked cluster. For more information, including details on header value syntax, see
+ // the documentation on :ref:`custom request headers
+ // <config_http_conn_man_headers_custom_request_headers>`.
+ repeated core.HeaderValueOption request_headers_to_add = 6
+ [(validate.rules).repeated .max_items = 1000];
+
+ // Specifies a list of HTTP headers that should be removed from each request that is sent to the
+ // health checked cluster.
+ repeated string request_headers_to_remove = 8;
+
+ // If set, health checks will be made using http/2.
+ bool use_http2 = 7;
+ }
+
+ message TcpHealthCheck {
+ // Empty payloads imply a connect-only health check.
+ Payload send = 1;
+
+ // When checking the response, “fuzzy” matching is performed such that each
+ // binary block must be found, and in the order specified, but not
+ // necessarily contiguous.
+ repeated Payload receive = 2;
+ }
+
+ message RedisHealthCheck {
+ // If set, optionally perform ``EXISTS <key>`` instead of ``PING``. A return value
+ // from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
+ // than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance
+ // by setting the specified key to any value and waiting for traffic to drain.
+ string key = 1;
+ }
+
+ // `grpc.health.v1.Health
+ // <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto>`_-based
+ // healthcheck. See `gRPC doc <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_
+ // for details.
+ message GrpcHealthCheck {
+ // An optional service name parameter which will be sent to gRPC service in
+ // `grpc.health.v1.HealthCheckRequest
+ // <https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20>`_.
+ // message. See `gRPC health-checking overview
+ // <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_ for more information.
+ string service_name = 1;
+ }
+
+ // Custom health check.
+ message CustomHealthCheck {
+ // The registered name of the custom health checker.
+ string name = 1 [(validate.rules).string.min_bytes = 1];
+
+ // A custom health checker specific configuration which depends on the custom health checker
+ // being instantiated. See :api:`envoy/config/health_checker` for reference.
+ oneof config_type {
+ google.protobuf.Struct config = 2;
+
+ // [#not-implemented-hide:]
+ google.protobuf.Any typed_config = 3;
+ }
+ }
+
+ oneof health_checker {
+ option (validate.required) = true;
+
+ // HTTP health check.
+ HttpHealthCheck http_health_check = 8;
+
+ // TCP health check.
+ TcpHealthCheck tcp_health_check = 9;
+
+ // gRPC health check.
+ GrpcHealthCheck grpc_health_check = 11;
+
+ // Custom health check.
+ CustomHealthCheck custom_health_check = 13;
+ }
+
+ reserved 10; // redis_health_check is deprecated by :ref:`custom_health_check
+ // <envoy_api_field_core.HealthCheck.custom_health_check>`
+ reserved "redis_health_check";
+
+ // The "no traffic interval" is a special health check interval that is used when a cluster has
+ // never had traffic routed to it. This lower interval allows cluster information to be kept up to
+ // date, without sending a potentially large amount of active health checking traffic for no
+ // reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the
+ // standard health check interval that is defined. Note that this interval takes precedence over
+ // any other.
+ //
+ // The default value for "no traffic interval" is 60 seconds.
+ google.protobuf.Duration no_traffic_interval = 12 [(validate.rules).duration.gt = {}];
+
+ // The "unhealthy interval" is a health check interval that is used for hosts that are marked as
+ // unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
+ // standard health check interval that is defined.
+ //
+ // The default value for "unhealthy interval" is the same as "interval".
+ google.protobuf.Duration unhealthy_interval = 14 [(validate.rules).duration.gt = {}];
+
+ // The "unhealthy edge interval" is a special health check interval that is used for the first
+ // health check right after a host is marked as unhealthy. For subsequent health checks
+ // Envoy will shift back to using either "unhealthy interval" if present or the standard health
+ // check interval that is defined.
+ //
+ // The default value for "unhealthy edge interval" is the same as "unhealthy interval".
+ google.protobuf.Duration unhealthy_edge_interval = 15 [(validate.rules).duration.gt = {}];
+
+ // The "healthy edge interval" is a special health check interval that is used for the first
+ // health check right after a host is marked as healthy. For subsequent health checks
+ // Envoy will shift back to using the standard health check interval that is defined.
+ //
+ // The default value for "healthy edge interval" is the same as the default interval.
+ google.protobuf.Duration healthy_edge_interval = 16 [(validate.rules).duration.gt = {}];
+
+ // Specifies the path to the :ref:`health check event log <arch_overview_health_check_logging>`.
+ // If empty, no event log will be written.
+ string event_log_path = 17;
+
+ // If set to true, health check failure events will always be logged. If set to false, only the
+ // initial health check failure event will be logged.
+ // The default value is false.
+ bool always_log_health_check_failures = 19;
+}
+
+// Endpoint health status.
+enum HealthStatus {
+ // The health status is not known. This is interpreted by Envoy as *HEALTHY*.
+ UNKNOWN = 0;
+
+ // Healthy.
+ HEALTHY = 1;
+
+ // Unhealthy.
+ UNHEALTHY = 2;
+
+ // Connection draining in progress. E.g.,
+ // `<https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/>`_
+ // or
+ // `<https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining>`_.
+ // This is interpreted by Envoy as *UNHEALTHY*.
+ DRAINING = 3;
+
+ // Health check timed out. This is part of HDS and is interpreted by Envoy as
+ // *UNHEALTHY*.
+ TIMEOUT = 4;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/protocol.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/protocol.proto
new file mode 100644
index 000000000..7c52fe914
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/core/protocol.proto
@@ -0,0 +1,97 @@
+// [#protodoc-title: Protocol options]
+
+syntax = "proto3";
+
+package envoy.api.v2.core;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.core";
+option java_multiple_files = true;
+
+import "google/protobuf/duration.proto";
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: Protocol options]
+
+// [#not-implemented-hide:]
+message TcpProtocolOptions {
+}
+
+message HttpProtocolOptions {
+ // The idle timeout for upstream connection pool connections. The idle timeout is defined as the
+ // period in which there are no active requests. If not set, there is no idle timeout. When the
+ // idle timeout is reached the connection will be closed. Note that request based timeouts mean
+ // that HTTP/2 PINGs will not keep the connection alive.
+ google.protobuf.Duration idle_timeout = 1;
+}
+
+message Http1ProtocolOptions {
+ // Handle HTTP requests with absolute URLs in the requests. These requests
+ // are generally sent by clients to forward/explicit proxies. This allows clients to configure
+ // envoy as their HTTP proxy. In Unix, for example, this is typically done by setting the
+ // *http_proxy* environment variable.
+ google.protobuf.BoolValue allow_absolute_url = 1;
+
+ // Handle incoming HTTP/1.0 and HTTP 0.9 requests.
+ // This is off by default, and not fully standards compliant. There is support for pre-HTTP/1.1
+ // style connect logic, dechunking, and handling lack of client host iff
+ // *default_host_for_http_10* is configured.
+ bool accept_http_10 = 2;
+
+ // A default host for HTTP/1.0 requests. This is highly suggested if *accept_http_10* is true as
+ // Envoy does not otherwise support HTTP/1.0 without a Host header.
+ // This is a no-op if *accept_http_10* is not true.
+ string default_host_for_http_10 = 3;
+}
+
+message Http2ProtocolOptions {
+ // `Maximum table size <http://httpwg.org/specs/rfc7541.html#rfc.section.4.2>`_
+ // (in octets) that the encoder is permitted to use for the dynamic HPACK table. Valid values
+ // range from 0 to 4294967295 (2^32 - 1) and defaults to 4096. 0 effectively disables header
+ // compression.
+ google.protobuf.UInt32Value hpack_table_size = 1;
+
+ // `Maximum concurrent streams <http://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2>`_
+ // allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1)
+ // and defaults to 2147483647.
+ google.protobuf.UInt32Value max_concurrent_streams = 2
+ [(validate.rules).uint32 = {gte: 1, lte: 2147483647}];
+
+ // `Initial stream-level flow-control window
+ // <http://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2>`_ size. Valid values range from 65535
+ // (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456
+ // (256 * 1024 * 1024).
+ //
+ // NOTE: 65535 is the initial window size from HTTP/2 spec. We only support increasing the default
+ // window size now, so it's also the minimum.
+
+ // This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the
+ // HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to
+ // stop the flow of data to the codec buffers.
+ google.protobuf.UInt32Value initial_stream_window_size = 3
+ [(validate.rules).uint32 = {gte: 65535, lte: 2147483647}];
+
+ // Similar to *initial_stream_window_size*, but for connection-level flow-control
+ // window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*.
+ google.protobuf.UInt32Value initial_connection_window_size = 4
+ [(validate.rules).uint32 = {gte: 65535, lte: 2147483647}];
+
+ // Allows proxying Websocket and other upgrades over H2 connect.
+ bool allow_connect = 5;
+
+ // [#not-implemented-hide:] Hiding until envoy has full metadata support.
+ // Still under implementation. DO NOT USE.
+ //
+ // Allows metadata. See [metadata
+ // docs](https://github.com/envoyproxy/envoy/blob/master/source/docs/h2_metadata.md) for more
+ // information.
+ bool allow_metadata = 6;
+}
+
+// [#not-implemented-hide:]
+message GrpcProtocolOptions {
+ Http2ProtocolOptions http2_protocol_options = 1;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/discovery.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/discovery.proto
new file mode 100644
index 000000000..319821169
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/discovery.proto
@@ -0,0 +1,197 @@
+syntax = "proto3";
+
+package envoy.api.v2;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2";
+option java_multiple_files = true;
+option go_package = "v2";
+
+import "envoy/api/v2/core/base.proto";
+
+import "google/protobuf/any.proto";
+import "google/rpc/status.proto";
+
+
+
+
+// [#protodoc-title: Common discovery API components]
+
+// A DiscoveryRequest requests a set of versioned resources of the same type for
+// a given Envoy node on some API.
+message DiscoveryRequest {
+ // The version_info provided in the request messages will be the version_info
+ // received with the most recent successfully processed response or empty on
+ // the first request. It is expected that no new request is sent after a
+ // response is received until the Envoy instance is ready to ACK/NACK the new
+ // configuration. ACK/NACK takes place by returning the new API config version
+ // as applied or the previous API config version respectively. Each type_url
+ // (see below) has an independent version associated with it.
+ string version_info = 1;
+
+ // The node making the request.
+ core.Node node = 2;
+
+ // List of resources to subscribe to, e.g. list of cluster names or a route
+ // configuration name. If this is empty, all resources for the API are
+ // returned. LDS/CDS expect empty resource_names, since this is global
+ // discovery for the Envoy instance. The LDS and CDS responses will then imply
+ // a number of resources that need to be fetched via EDS/RDS, which will be
+ // explicitly enumerated in resource_names.
+ repeated string resource_names = 3;
+
+ // Type of the resource that is being requested, e.g.
+ // "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ // in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ // required for ADS.
+ string type_url = 4;
+
+ // nonce corresponding to DiscoveryResponse being ACK/NACKed. See above
+ // discussion on version_info and the DiscoveryResponse nonce comment. This
+ // may be empty if no nonce is available, e.g. at startup or for non-stream
+ // xDS implementations.
+ string response_nonce = 5;
+
+ // This is populated when the previous :ref:`DiscoveryResponse <envoy_api_msg_DiscoveryResponse>`
+ // failed to update configuration. The *message* field in *error_details* provides the Envoy
+ // internal exception related to the failure. It is only intended for consumption during manual
+ // debugging, the string provided is not guaranteed to be stable across Envoy versions.
+ google.rpc.Status error_detail = 6;
+}
+
+message DiscoveryResponse {
+ // The version of the response data.
+ string version_info = 1;
+
+ // The response resources. These resources are typed and depend on the API being called.
+ repeated google.protobuf.Any resources = 2;
+
+ // [#not-implemented-hide:]
+ // Canary is used to support two Envoy command line flags:
+ //
+ // * --terminate-on-canary-transition-failure. When set, Envoy is able to
+ // terminate if it detects that configuration is stuck at canary. Consider
+ // this example sequence of updates:
+ // - Management server applies a canary config successfully.
+ // - Management server rolls back to a production config.
+ // - Envoy rejects the new production config.
+ // Since there is no sensible way to continue receiving configuration
+ // updates, Envoy will then terminate and apply production config from a
+ // clean slate.
+ // * --dry-run-canary. When set, a canary response will never be applied, only
+ // validated via a dry run.
+ bool canary = 3;
+
+ // Type URL for resources. This must be consistent with the type_url in the
+ // Any messages for resources if resources is non-empty. This effectively
+ // identifies the xDS API when muxing over ADS.
+ string type_url = 4;
+
+ // For gRPC based subscriptions, the nonce provides a way to explicitly ack a
+ // specific DiscoveryResponse in a following DiscoveryRequest. Additional
+ // messages may have been sent by Envoy to the management server for the
+ // previous version on the stream prior to this DiscoveryResponse, that were
+ // unprocessed at response send time. The nonce allows the management server
+ // to ignore any further DiscoveryRequests for the previous version until a
+ // DiscoveryRequest bearing the nonce. The nonce is optional and is not
+ // required for non-stream based xDS implementations.
+ string nonce = 5;
+}
+
+// IncrementalDiscoveryRequest and IncrementalDiscoveryResponse are used in a
+// new gRPC endpoint for Incremental xDS. The feature is not supported for REST
+// management servers.
+//
+// With Incremental xDS, the IncrementalDiscoveryResponses do not need to
+// include a full snapshot of the tracked resources. Instead
+// IncrementalDiscoveryResponses are a diff to the state of a xDS client.
+// In Incremental XDS there are per resource versions which allows to track
+// state at the resource granularity.
+// An xDS Incremental session is always in the context of a gRPC bidirectional
+// stream. This allows the xDS server to keep track of the state of xDS clients
+// connected to it.
+//
+// In Incremental xDS the nonce field is required and used to pair
+// IncrementalDiscoveryResponse to a IncrementalDiscoveryRequest ACK or NACK.
+// Optionaly, a response message level system_version_info is present for
+// debugging purposes only.
+//
+// IncrementalDiscoveryRequest can be sent in 3 situations:
+// 1. Initial message in a xDS bidirectional gRPC stream.
+// 2. As a ACK or NACK response to a previous IncrementalDiscoveryResponse.
+// In this case the response_nonce is set to the nonce value in the Response.
+// ACK or NACK is determined by the absence or presence of error_detail.
+// 3. Spontaneous IncrementalDiscoveryRequest from the client.
+// This can be done to dynamically add or remove elements from the tracked
+// resource_names set. In this case response_nonce must be omitted.
+message IncrementalDiscoveryRequest {
+ // The node making the request.
+ core.Node node = 1;
+
+ // Type of the resource that is being requested, e.g.
+ // "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment". This is implicit
+ // in requests made via singleton xDS APIs such as CDS, LDS, etc. but is
+ // required for ADS.
+ string type_url = 2;
+
+ // IncrementalDiscoveryRequests allow the client to add or remove individual
+ // resources to the set of tracked resources in the context of a stream.
+ // All resource names in the resource_names_subscribe list are added to the
+ // set of tracked resources and all resource names in the resource_names_unsubscribe
+ // list are removed from the set of tracked resources.
+ // Unlike in non incremental xDS, an empty resource_names_subscribe or
+ // resource_names_unsubscribe list simply means that no resources are to be
+ // added or removed to the resource list.
+ // The xDS server must send updates for all tracked resources but can also
+ // send updates for resources the client has not subscribed to. This behavior
+ // is similar to non incremental xDS.
+ // These two fields can be set for all types of IncrementalDiscoveryRequests
+ // (initial, ACK/NACK or spontaneous).
+ //
+ // A list of Resource names to add to the list of tracked resources.
+ repeated string resource_names_subscribe = 3;
+
+ // A list of Resource names to remove from the list of tracked resources.
+ repeated string resource_names_unsubscribe = 4;
+
+ // This map must be populated when the IncrementalDiscoveryRequest is the
+ // first in a stream. The keys are the resources names of the xDS resources
+ // known to the xDS client. The values in the map are the associated resource
+ // level version info.
+ map<string, string> initial_resource_versions = 5;
+
+ // When the IncrementalDiscoveryRequest is a ACK or NACK message in response
+ // to a previous IncrementalDiscoveryResponse, the response_nonce must be the
+ // nonce in the IncrementalDiscoveryResponse.
+ // Otherwise response_nonce must be omitted.
+ string response_nonce = 6;
+
+ // This is populated when the previous :ref:`DiscoveryResponse <envoy_api_msg_DiscoveryResponse>`
+ // failed to update configuration. The *message* field in *error_details*
+ // provides the Envoy internal exception related to the failure.
+ google.rpc.Status error_detail = 7;
+}
+
+message IncrementalDiscoveryResponse {
+ // The version of the response data (used for debugging).
+ string system_version_info = 1;
+
+ // The response resources. These are typed resources that match the type url
+ // in the IncrementalDiscoveryRequest.
+ repeated Resource resources = 2;
+
+ // Resources names of resources that have be deleted and to be removed from the xDS Client.
+ // Removed resources for missing resources can be ignored.
+ repeated string removed_resources = 6;
+
+ // The nonce provides a way for IncrementalDiscoveryRequests to uniquely
+ // reference a IncrementalDiscoveryResponse. The nonce is required.
+ string nonce = 5;
+}
+
+message Resource {
+ // The resource level version. It allows xDS to track the state of individual
+ // resources.
+ string version = 1;
+
+ // The resource being tracked.
+ google.protobuf.Any resource = 2;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/eds.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/eds.proto
new file mode 100644
index 000000000..d9e6627d1
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/eds.proto
@@ -0,0 +1,102 @@
+syntax = "proto3";
+
+package envoy.api.v2;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2";
+option java_multiple_files = true;
+
+option java_generic_services = true;
+
+import "envoy/api/v2/discovery.proto";
+import "envoy/api/v2/endpoint/endpoint.proto";
+import "envoy/type/percent.proto";
+
+import "google/api/annotations.proto";
+
+import "validate/validate.proto";
+
+import "google/protobuf/wrappers.proto";
+
+
+
+// [#protodoc-title: EDS]
+// Endpoint discovery :ref:`architecture overview <arch_overview_service_discovery_types_eds>`
+
+service EndpointDiscoveryService {
+ // The resource_names field in DiscoveryRequest specifies a list of clusters
+ // to subscribe to updates for.
+ rpc StreamEndpoints(stream DiscoveryRequest) returns (stream DiscoveryResponse) {
+ }
+
+ rpc FetchEndpoints(DiscoveryRequest) returns (DiscoveryResponse) {
+ option (google.api.http) = {
+ post: "/v2/discovery:endpoints"
+ body: "*"
+ };
+ }
+}
+
+// Each route from RDS will map to a single cluster or traffic split across
+// clusters using weights expressed in the RDS WeightedCluster.
+//
+// With EDS, each cluster is treated independently from a LB perspective, with
+// LB taking place between the Localities within a cluster and at a finer
+// granularity between the hosts within a locality. For a given cluster, the
+// effective weight of a host is its load_balancing_weight multiplied by the
+// load_balancing_weight of its Locality.
+message ClusterLoadAssignment {
+ // Name of the cluster. This will be the :ref:`service_name
+ // <envoy_api_field_Cluster.EdsClusterConfig.service_name>` value if specified
+ // in the cluster :ref:`EdsClusterConfig
+ // <envoy_api_msg_Cluster.EdsClusterConfig>`.
+ string cluster_name = 1 [(validate.rules).string.min_bytes = 1];
+
+ // List of endpoints to load balance to.
+ repeated endpoint.LocalityLbEndpoints endpoints = 2;
+
+ // Load balancing policy settings.
+ message Policy {
+ reserved 1;
+
+ message DropOverload {
+ // Identifier for the policy specifying the drop.
+ string category = 1 [(validate.rules).string.min_bytes = 1];
+
+ // Percentage of traffic that should be dropped for the category.
+ envoy.type.FractionalPercent drop_percentage = 2;
+ }
+ // Action to trim the overall incoming traffic to protect the upstream
+ // hosts. This action allows protection in case the hosts are unable to
+ // recover from an outage, or unable to autoscale or unable to handle
+ // incoming traffic volume for any reason.
+ //
+ // At the client each category is applied one after the other to generate
+ // the 'actual' drop percentage on all outgoing traffic. For example:
+ //
+ // .. code-block:: json
+ //
+ // { "drop_overloads": [
+ // { "category": "throttle", "drop_percentage": 60 }
+ // { "category": "lb", "drop_percentage": 50 }
+ // ]}
+ //
+ // The actual drop percentages applied to the traffic at the clients will be
+ // "throttle"_drop = 60%
+ // "lb"_drop = 20% // 50% of the remaining 'actual' load, which is 40%.
+ // actual_outgoing_load = 20% // remaining after applying all categories.
+ repeated DropOverload drop_overloads = 2;
+
+ // Priority levels and localities are considered overprovisioned with this
+ // factor (in percentage). This means that we don't consider a priority
+ // level or locality unhealthy until the percentage of healthy hosts
+ // multiplied by the overprovisioning factor drops below 100.
+ // With the default value 140(1.4), Envoy doesn't consider a priority level
+ // or a locality unhealthy until their percentage of healthy hosts drops
+ // below 72%.
+ // Read more at :ref:`priority levels <arch_overview_load_balancing_priority_levels>` and
+ // :ref:`localities <arch_overview_load_balancing_locality_weighted_lb>`.
+ google.protobuf.UInt32Value overprovisioning_factor = 3 [(validate.rules).uint32.gt = 0];
+ }
+
+ // Load balancing policy settings.
+ Policy policy = 4;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/endpoint/endpoint.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/endpoint/endpoint.proto
new file mode 100644
index 000000000..152c2b1a2
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/endpoint/endpoint.proto
@@ -0,0 +1,130 @@
+syntax = "proto3";
+
+package envoy.api.v2.endpoint;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.endpoint";
+option java_multiple_files = true;
+option go_package = "endpoint";
+
+import "envoy/api/v2/core/address.proto";
+import "envoy/api/v2/core/base.proto";
+import "envoy/api/v2/core/health_check.proto";
+
+import "google/protobuf/wrappers.proto";
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: Endpoints]
+
+// Upstream host identifier.
+message Endpoint {
+ // The upstream host address.
+ //
+ // .. attention::
+ //
+ // The form of host address depends on the given cluster type. For STATIC or EDS,
+ // it is expected to be a direct IP address (or something resolvable by the
+ // specified :ref:`resolver <envoy_api_field_core.SocketAddress.resolver_name>`
+ // in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
+ // and will be resolved via DNS.
+ core.Address address = 1;
+
+ // The optional health check configuration.
+ message HealthCheckConfig {
+ // Optional alternative health check port value.
+ //
+ // By default the health check address port of an upstream host is the same
+ // as the host's serving address port. This provides an alternative health
+ // check port. Setting this with a non-zero value allows an upstream host
+ // to have different health check address port.
+ uint32 port_value = 1 [(validate.rules).uint32.lte = 65535];
+ }
+
+ // The optional health check configuration is used as configuration for the
+ // health checker to contact the health checked host.
+ //
+ // .. attention::
+ //
+ // This takes into effect only for upstream clusters with
+ // :ref:`active health checking <arch_overview_health_checking>` enabled.
+ HealthCheckConfig health_check_config = 2;
+}
+
+// An Endpoint that Envoy can route traffic to.
+message LbEndpoint {
+ // Upstream host identifier
+ Endpoint endpoint = 1;
+
+ // Optional health status when known and supplied by EDS server.
+ core.HealthStatus health_status = 2;
+
+ // The endpoint metadata specifies values that may be used by the load
+ // balancer to select endpoints in a cluster for a given request. The filter
+ // name should be specified as *envoy.lb*. An example boolean key-value pair
+ // is *canary*, providing the optional canary status of the upstream host.
+ // This may be matched against in a route's
+ // :ref:`RouteAction <envoy_api_msg_route.RouteAction>` metadata_match field
+ // to subset the endpoints considered in cluster load balancing.
+ core.Metadata metadata = 3;
+
+ // The optional load balancing weight of the upstream host, in the range 1 -
+ // 128. Envoy uses the load balancing weight in some of the built in load
+ // balancers. The load balancing weight for an endpoint is divided by the sum
+ // of the weights of all endpoints in the endpoint's locality to produce a
+ // percentage of traffic for the endpoint. This percentage is then further
+ // weighted by the endpoint's locality's load balancing weight from
+ // LocalityLbEndpoints. If unspecified, each host is presumed to have equal
+ // weight in a locality.
+ //
+ // .. attention::
+ //
+ // The limit of 128 is somewhat arbitrary, but is applied due to performance
+ // concerns with the current implementation and can be removed when
+ // `this issue <https://github.com/envoyproxy/envoy/issues/1285>`_ is fixed.
+ google.protobuf.UInt32Value load_balancing_weight = 4
+ [(validate.rules).uint32 = {gte: 1, lte: 128}];
+}
+
+// A group of endpoints belonging to a Locality.
+// One can have multiple LocalityLbEndpoints for a locality, but this is
+// generally only done if the different groups need to have different load
+// balancing weights or different priorities.
+message LocalityLbEndpoints {
+ // Identifies location of where the upstream hosts run.
+ core.Locality locality = 1;
+
+ // The group of endpoints belonging to the locality specified.
+ repeated LbEndpoint lb_endpoints = 2;
+
+ // Optional: Per priority/region/zone/sub_zone weight - range 1-128. The load
+ // balancing weight for a locality is divided by the sum of the weights of all
+ // localities at the same priority level to produce the effective percentage
+ // of traffic for the locality.
+ //
+ // Locality weights are only considered when :ref:`locality weighted load
+ // balancing <arch_overview_load_balancing_locality_weighted_lb>` is
+ // configured. These weights are ignored otherwise. If no weights are
+ // specificed when locality weighted load balancing is enabled, the cluster is
+ // assumed to have a weight of 1.
+ //
+ // .. attention::
+ //
+ // The limit of 128 is somewhat arbitrary, but is applied due to performance
+ // concerns with the current implementation and can be removed when
+ // `this issue <https://github.com/envoyproxy/envoy/issues/1285>`_ is fixed.
+ google.protobuf.UInt32Value load_balancing_weight = 3
+ [(validate.rules).uint32 = {gte: 1, lte: 128}];
+
+ // Optional: the priority for this LocalityLbEndpoints. If unspecified this will
+ // default to the highest priority (0).
+ //
+ // Under usual circumstances, Envoy will only select endpoints for the highest
+ // priority (0). In the event all endpoints for a particular priority are
+ // unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
+ // next highest priority group.
+ //
+ // Priorities should range from 0 (highest) to N (lowest) without skipping.
+ uint32 priority = 5 [(validate.rules).uint32 = {lte: 128}];
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/api/v2/endpoint/load_report.proto b/xds/third_party/envoy/src/main/proto/envoy/api/v2/endpoint/load_report.proto
new file mode 100644
index 000000000..d4c66f881
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/api/v2/endpoint/load_report.proto
@@ -0,0 +1,155 @@
+syntax = "proto3";
+
+package envoy.api.v2.endpoint;
+option java_package = "io.grpc.xds.shaded.envoy.api.v2.endpoint";
+option java_multiple_files = true;
+
+import "envoy/api/v2/core/address.proto";
+import "envoy/api/v2/core/base.proto";
+
+import "google/protobuf/duration.proto";
+import "google/protobuf/struct.proto";
+
+import "validate/validate.proto";
+
+
+// These are stats Envoy reports to GLB every so often. Report frequency is
+// defined by
+// :ref:`LoadStatsResponse.load_reporting_interval<envoy_api_field_load_stats.LoadStatsResponse.load_reporting_interval>`.
+// Stats per upstream region/zone and optionally per subzone.
+// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+message UpstreamLocalityStats {
+ // Name of zone, region and optionally endpoint group these metrics were
+ // collected from. Zone and region names could be empty if unknown.
+ core.Locality locality = 1;
+
+ // The total number of requests sent by this Envoy since the last report. This
+ // information is aggregated over all the upstream Endpoints. total_requests
+ // can be inferred from:
+ //
+ // .. code-block:: none
+ //
+ // total_requests = total_successful_requests + total_requests_in_progress +
+ // total_error_requests
+ //
+ // The total number of requests successfully completed by the endpoints in the
+ // locality.
+ uint64 total_successful_requests = 2;
+
+ // The total number of unfinished requests
+ uint64 total_requests_in_progress = 3;
+
+ // The total number of requests that failed due to errors at the endpoint,
+ // aggregated over all endpoints in the locality.
+ uint64 total_error_requests = 4;
+
+ // Stats for multi-dimensional load balancing.
+ repeated EndpointLoadMetricStats load_metric_stats = 5;
+
+ // Endpoint granularity stats information for this locality. This information
+ // is populated if the Server requests it by setting
+ // :ref:`LoadStatsResponse.report_endpoint_granularity<envoy_api_field_load_stats.LoadStatsResponse.report_endpoint_granularity>`.
+ repeated UpstreamEndpointStats upstream_endpoint_stats = 7;
+
+ // [#not-implemented-hide:] The priority of the endpoint group these metrics
+ // were collected from.
+ uint32 priority = 6;
+}
+
+message UpstreamEndpointStats {
+ // Upstream host address.
+ core.Address address = 1;
+
+ // Opaque and implementation dependent metadata of the
+ // endpoint. Envoy will pass this directly to the management server.
+ google.protobuf.Struct metadata = 6;
+
+ // The total number of requests successfully completed by the endpoint. A
+ // single HTTP or gRPC request or stream is counted as one request. A TCP
+ // connection is also treated as one request. There is no explicit
+ // total_requests field below for an endpoint, but it may be inferred from:
+ //
+ // .. code-block:: none
+ //
+ // total_requests = total_successful_requests + total_requests_in_progress +
+ // total_error_requests
+ //
+ // The total number of requests successfully completed by the endpoints in the
+ // locality. These include non-5xx responses for HTTP, where errors
+ // originate at the client and the endpoint responded successfully. For gRPC,
+ // the grpc-status values are those not covered by total_error_requests below.
+ uint64 total_successful_requests = 2;
+
+ // The total number of unfinished requests for this endpoint.
+ uint64 total_requests_in_progress = 3;
+
+ // The total number of requests that failed due to errors at the endpoint.
+ // For HTTP these are responses with 5xx status codes and for gRPC the
+ // grpc-status values:
+ //
+ // - DeadlineExceeded
+ // - Unimplemented
+ // - Internal
+ // - Unavailable
+ // - Unknown
+ // - DataLoss
+ uint64 total_error_requests = 4;
+
+ // Stats for multi-dimensional load balancing.
+ repeated EndpointLoadMetricStats load_metric_stats = 5;
+}
+
+// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+message EndpointLoadMetricStats {
+ // Name of the metric; may be empty.
+ string metric_name = 1;
+
+ // Number of calls that finished and included this metric.
+ uint64 num_requests_finished_with_metric = 2;
+
+ // Sum of metric values across all calls that finished with this metric for
+ // load_reporting_interval.
+ double total_metric_value = 3;
+}
+
+// Per cluster load stats. Envoy reports these stats a management server in a
+// :ref:`LoadStatsRequest<envoy_api_msg_load_stats.LoadStatsRequest>`
+// [#not-implemented-hide:] Not configuration. TBD how to doc proto APIs.
+message ClusterStats {
+ // The name of the cluster.
+ string cluster_name = 1 [(validate.rules).string.min_bytes = 1];
+
+ // Need at least one.
+ repeated UpstreamLocalityStats upstream_locality_stats = 2
+ [(validate.rules).repeated .min_items = 1];
+
+ // Cluster-level stats such as total_successful_requests may be computed by
+ // summing upstream_locality_stats. In addition, below there are additional
+ // cluster-wide stats. The following total_requests equality holds at the
+ // cluster-level:
+ //
+ // .. code-block:: none
+ //
+ // sum_locality(total_successful_requests) + sum_locality(total_requests_in_progress) +
+ // sum_locality(total_error_requests) + total_dropped_requests`
+ //
+ // The total number of dropped requests. This covers requests
+ // deliberately dropped by the drop_overload policy and circuit breaking.
+ uint64 total_dropped_requests = 3;
+
+ message DroppedRequests {
+ // Identifier for the policy specifying the drop.
+ string category = 1 [(validate.rules).string.min_bytes = 1];
+ // Total number of deliberately dropped requests for the category.
+ uint64 dropped_count = 2;
+ }
+ // Information about deliberately dropped requests for each category specified
+ // in the DropOverload policy.
+ repeated DroppedRequests dropped_requests = 5;
+
+ // Period over which the actual load report occurred. This will be guaranteed to include every
+ // request reported. Due to system load and delays between the *LoadStatsRequest* sent from Envoy
+ // and the *LoadStatsResponse* message sent from the management server, this may be longer than
+ // the requested load reporting interval in the *LoadStatsResponse*.
+ google.protobuf.Duration load_report_interval = 4;
+}
diff --git a/xds/third_party/envoy/src/main/proto/envoy/type/percent.proto b/xds/third_party/envoy/src/main/proto/envoy/type/percent.proto
new file mode 100644
index 000000000..fa7002b88
--- /dev/null
+++ b/xds/third_party/envoy/src/main/proto/envoy/type/percent.proto
@@ -0,0 +1,50 @@
+syntax = "proto3";
+
+package envoy.type;
+option java_package = "io.grpc.xds.shaded.envoy.type";
+option java_multiple_files = true;
+
+import "validate/validate.proto";
+
+
+
+
+// [#protodoc-title: Percent]
+
+// Identifies a percentage, in the range [0.0, 100.0].
+message Percent {
+ double value = 1 [(validate.rules).double = {gte: 0, lte: 100}];
+}
+
+// A fractional percentage is used in cases in which for performance reasons performing floating
+// point to integer conversions during randomness calculations is undesirable. The message includes
+// both a numerator and denominator that together determine the final fractional value.
+//
+// * **Example**: 1/100 = 1%.
+// * **Example**: 3/10000 = 0.03%.
+message FractionalPercent {
+ // Specifies the numerator. Defaults to 0.
+ uint32 numerator = 1;
+
+ // Fraction percentages support several fixed denominator values.
+ enum DenominatorType {
+ // 100.
+ //
+ // **Example**: 1/100 = 1%.
+ HUNDRED = 0;
+
+ // 10,000.
+ //
+ // **Example**: 1/10000 = 0.01%.
+ TEN_THOUSAND = 1;
+
+ // 1,000,000.
+ //
+ // **Example**: 1/1000000 = 0.0001%.
+ MILLION = 2;
+ }
+
+ // Specifies the denominator. If the denominator specified is less than the numerator, the final
+ // fractional percentage is capped at 1 (100%).
+ DenominatorType denominator = 2 [(validate.rules).enum.defined_only = true];
+}
diff --git a/xds/third_party/protoc-gen-validate/LICENSE b/xds/third_party/protoc-gen-validate/LICENSE
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/xds/third_party/protoc-gen-validate/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/xds/third_party/protoc-gen-validate/import.sh b/xds/third_party/protoc-gen-validate/import.sh
new file mode 100755
index 000000000..043089726
--- /dev/null
+++ b/xds/third_party/protoc-gen-validate/import.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+# Copyright 2018 The gRPC Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# in this directory run the following commands
+BRANCH=master
+# import GIT_ORIGIN_REV_ID from one of the google internal CLs
+GIT_ORIGIN_REV_ID=8e6aaf55f4954f1ef9d3ee2e8f5a50e79cc04f8f
+GIT_REPO="https://github.com/lyft/protoc-gen-validate.git"
+GIT_BASE_DIR=protoc-gen-validate
+SOURCE_PROTO_BASE_DIR=protoc-gen-validate
+TARGET_PROTO_BASE_DIR=src/main/proto
+FILES=(
+validate/validate.proto
+)
+
+# clone the protoc-gen-validate github repo in /tmp directory
+pushd /tmp
+rm -rf $GIT_BASE_DIR
+git clone -b $BRANCH $GIT_REPO
+cd $GIT_BASE_DIR
+git checkout $GIT_ORIGIN_REV_ID
+popd
+
+cp -p /tmp/${GIT_BASE_DIR}/LICENSE LICENSE
+
+mkdir -p ${TARGET_PROTO_BASE_DIR}
+pushd ${TARGET_PROTO_BASE_DIR}
+
+# copy proto files to project directory
+for file in "${FILES[@]}"
+do
+ mkdir -p $(dirname ${file})
+ cp -p /tmp/${SOURCE_PROTO_BASE_DIR}/${file} ${file}
+done
+
+for file in "${FILES[@]}"
+do
+ # remove old "option java_multiple_files" if any
+ sed -i -e '/^option\sjava_multiple_files\s=/d' $file
+ # add new "option java_multiple_files"
+ sed -i -e "/^package\s/a option java_multiple_files = true;" $file
+ # remove old "option java_package" if any
+ sed -i -e '/^option\sjava_package\s=/d' $file
+ cmd='grep -Po "^package \K.*(?=;$)" '"${file}"
+ # add new "option java_package"
+ sed -i -e "/^package\s/a option java_package = \"io.grpc.xds.shaded.$(eval $cmd)\";" $file
+done
+popd
diff --git a/xds/third_party/protoc-gen-validate/src/main/proto/validate/validate.proto b/xds/third_party/protoc-gen-validate/src/main/proto/validate/validate.proto
new file mode 100644
index 000000000..fcf78a739
--- /dev/null
+++ b/xds/third_party/protoc-gen-validate/src/main/proto/validate/validate.proto
@@ -0,0 +1,752 @@
+syntax = "proto2";
+package validate;
+option java_package = "io.grpc.xds.shaded.validate";
+option java_multiple_files = true;
+
+option go_package = "github.com/lyft/protoc-gen-validate/validate";
+
+import "google/protobuf/descriptor.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+
+// Validation rules applied at the message level
+extend google.protobuf.MessageOptions {
+ // Disabled nullifies any validation rules for this message, including any
+ // message fields associated with it that do support validation.
+ optional bool disabled = 919191;
+}
+
+// Validation rules applied at the oneof level
+extend google.protobuf.OneofOptions {
+ // Required ensures that exactly one the field options in a oneof is set;
+ // validation fails if no fields in the oneof are set.
+ optional bool required = 919191;
+}
+
+// Validation rules applied at the field level
+extend google.protobuf.FieldOptions {
+ // Rules specify the validations to be performed on this field. By default,
+ // no validation is performed against a field.
+ optional FieldRules rules = 919191;
+}
+
+// FieldRules encapsulates the rules for each type of field. Depending on the
+// field, the correct set should be used to ensure proper validations.
+message FieldRules {
+ oneof type {
+ // Scalar Field Types
+ FloatRules float = 1;
+ DoubleRules double = 2;
+ Int32Rules int32 = 3;
+ Int64Rules int64 = 4;
+ UInt32Rules uint32 = 5;
+ UInt64Rules uint64 = 6;
+ SInt32Rules sint32 = 7;
+ SInt64Rules sint64 = 8;
+ Fixed32Rules fixed32 = 9;
+ Fixed64Rules fixed64 = 10;
+ SFixed32Rules sfixed32 = 11;
+ SFixed64Rules sfixed64 = 12;
+ BoolRules bool = 13;
+ StringRules string = 14;
+ BytesRules bytes = 15;
+
+ // Complex Field Types
+ EnumRules enum = 16;
+ MessageRules message = 17;
+ RepeatedRules repeated = 18;
+ MapRules map = 19;
+
+ // Well-Known Field Types
+ AnyRules any = 20;
+ DurationRules duration = 21;
+ TimestampRules timestamp = 22;
+ }
+}
+
+// FloatRules describes the constraints applied to `float` values
+message FloatRules {
+ // Const specifies that this field must be exactly the specified value
+ optional float const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional float lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional float lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional float gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional float gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated float in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated float not_in = 7;
+}
+
+// DoubleRules describes the constraints applied to `double` values
+message DoubleRules {
+ // Const specifies that this field must be exactly the specified value
+ optional double const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional double lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional double lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional double gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional double gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated double in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated double not_in = 7;
+}
+
+// Int32Rules describes the constraints applied to `int32` values
+message Int32Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional int32 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional int32 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional int32 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional int32 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional int32 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated int32 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated int32 not_in = 7;
+}
+
+// Int64Rules describes the constraints applied to `int64` values
+message Int64Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional int64 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional int64 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional int64 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional int64 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional int64 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated int64 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated int64 not_in = 7;
+}
+
+// UInt32Rules describes the constraints applied to `uint32` values
+message UInt32Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional uint32 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional uint32 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional uint32 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional uint32 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional uint32 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated uint32 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated uint32 not_in = 7;
+}
+
+// UInt64Rules describes the constraints applied to `uint64` values
+message UInt64Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional uint64 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional uint64 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional uint64 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional uint64 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional uint64 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated uint64 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated uint64 not_in = 7;
+}
+
+// SInt32Rules describes the constraints applied to `sint32` values
+message SInt32Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional sint32 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional sint32 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional sint32 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional sint32 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional sint32 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated sint32 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated sint32 not_in = 7;
+}
+
+// SInt64Rules describes the constraints applied to `sint64` values
+message SInt64Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional sint64 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional sint64 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional sint64 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional sint64 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional sint64 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated sint64 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated sint64 not_in = 7;
+}
+
+// Fixed32Rules describes the constraints applied to `fixed32` values
+message Fixed32Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional fixed32 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional fixed32 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional fixed32 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional fixed32 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional fixed32 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated fixed32 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated fixed32 not_in = 7;
+}
+
+// Fixed64Rules describes the constraints applied to `fixed64` values
+message Fixed64Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional fixed64 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional fixed64 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional fixed64 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional fixed64 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional fixed64 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated fixed64 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated fixed64 not_in = 7;
+}
+
+// SFixed32Rules describes the constraints applied to `sfixed32` values
+message SFixed32Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional sfixed32 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional sfixed32 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional sfixed32 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional sfixed32 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional sfixed32 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated sfixed32 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated sfixed32 not_in = 7;
+}
+
+// SFixed64Rules describes the constraints applied to `sfixed64` values
+message SFixed64Rules {
+ // Const specifies that this field must be exactly the specified value
+ optional sfixed64 const = 1;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional sfixed64 lt = 2;
+
+ // Lte specifies that this field must be less than or equal to the
+ // specified value, inclusive
+ optional sfixed64 lte = 3;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive. If the value of Gt is larger than a specified Lt or Lte, the
+ // range is reversed.
+ optional sfixed64 gt = 4;
+
+ // Gte specifies that this field must be greater than or equal to the
+ // specified value, inclusive. If the value of Gte is larger than a
+ // specified Lt or Lte, the range is reversed.
+ optional sfixed64 gte = 5;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated sfixed64 in = 6;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated sfixed64 not_in = 7;
+}
+
+// BoolRules describes the constraints applied to `bool` values
+message BoolRules {
+ // Const specifies that this field must be exactly the specified value
+ optional bool const = 1;
+}
+
+// StringRules describe the constraints applied to `string` values
+message StringRules {
+ // Const specifies that this field must be exactly the specified value
+ optional string const = 1;
+
+ // MinLen specifies that this field must be the specified number of
+ // characters (Unicode code points) at a minimum. Note that the number of
+ // characters may differ from the number of bytes in the string.
+ optional uint64 min_len = 2;
+
+ // MaxLen specifies that this field must be the specified number of
+ // characters (Unicode code points) at a maximum. Note that the number of
+ // characters may differ from the number of bytes in the string.
+ optional uint64 max_len = 3;
+
+ // MinBytes specifies that this field must be the specified number of bytes
+ // at a minimum
+ optional uint64 min_bytes = 4;
+
+ // MaxBytes specifies that this field must be the specified number of bytes
+ // at a maximum
+ optional uint64 max_bytes = 5;
+
+ // Pattern specifes that this field must match against the specified
+ // regular expression (RE2 syntax). The included expression should elide
+ // any delimiters.
+ optional string pattern = 6;
+
+ // Prefix specifies that this field must have the specified substring at
+ // the beginning of the string.
+ optional string prefix = 7;
+
+ // Suffix specifies that this field must have the specified substring at
+ // the end of the string.
+ optional string suffix = 8;
+
+ // Contains specifies that this field must have the specified substring
+ // anywhere in the string.
+ optional string contains = 9;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated string in = 10;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated string not_in = 11;
+
+ // WellKnown rules provide advanced constraints against common string
+ // patterns
+ oneof well_known {
+ // Email specifies that the field must be a valid email address as
+ // defined by RFC 5322
+ bool email = 12;
+
+ // Hostname specifies that the field must be a valid hostname as
+ // defined by RFC 1034. This constraint does not support
+ // internationalized domain names (IDNs).
+ bool hostname = 13;
+
+ // Ip specifies that the field must be a valid IP (v4 or v6) address.
+ // Valid IPv6 addresses should not include surrounding square brackets.
+ bool ip = 14;
+
+ // Ipv4 specifies that the field must be a valid IPv4 address.
+ bool ipv4 = 15;
+
+ // Ipv6 specifies that the field must be a valid IPv6 address. Valid
+ // IPv6 addresses should not include surrounding square brackets.
+ bool ipv6 = 16;
+
+ // Uri specifies that the field must be a valid, absolute URI as defined
+ // by RFC 3986
+ bool uri = 17;
+
+ // UriRef specifies that the field must be a valid URI as defined by RFC
+ // 3986 and may be relative or absolute.
+ bool uri_ref = 18;
+ }
+}
+
+// BytesRules describe the constraints applied to `bytes` values
+message BytesRules {
+ // Const specifies that this field must be exactly the specified value
+ optional bytes const = 1;
+
+ // MinLen specifies that this field must be the specified number of bytes
+ // at a minimum
+ optional uint64 min_len = 2;
+
+ // MaxLen specifies that this field must be the specified number of bytes
+ // at a maximum
+ optional uint64 max_len = 3;
+
+ // Pattern specifes that this field must match against the specified
+ // regular expression (RE2 syntax). The included expression should elide
+ // any delimiters.
+ optional string pattern = 4;
+
+ // Prefix specifies that this field must have the specified bytes at the
+ // beginning of the string.
+ optional bytes prefix = 5;
+
+ // Suffix specifies that this field must have the specified bytes at the
+ // end of the string.
+ optional bytes suffix = 6;
+
+ // Contains specifies that this field must have the specified bytes
+ // anywhere in the string.
+ optional bytes contains = 7;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated bytes in = 8;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated bytes not_in = 9;
+
+ // WellKnown rules provide advanced constraints against common byte
+ // patterns
+ oneof well_known {
+ // Ip specifies that the field must be a valid IP (v4 or v6) address in
+ // byte format
+ bool ip = 10;
+
+ // Ipv4 specifies that the field must be a valid IPv4 address in byte
+ // format
+ bool ipv4 = 11;
+
+ // Ipv6 specifies that the field must be a valid IPv6 address in byte
+ // format
+ bool ipv6 = 12;
+ }
+}
+
+// EnumRules describe the constraints applied to enum values
+message EnumRules {
+ // Const specifies that this field must be exactly the specified value
+ optional int32 const = 1;
+
+ // DefinedOnly specifies that this field must be only one of the defined
+ // values for this enum, failing on any undefined value.
+ optional bool defined_only = 2;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated int32 in = 3;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated int32 not_in = 4;
+}
+
+// MessageRules describe the constraints applied to embedded message values.
+// For message-type fields, validation is performed recursively.
+message MessageRules {
+ // Skip specifies that the validation rules of this field should not be
+ // evaluated
+ optional bool skip = 1;
+
+ // Required specifies that this field must be set
+ optional bool required = 2;
+}
+
+// RepeatedRules describe the constraints applied to `repeated` values
+message RepeatedRules {
+ // MinItems specifies that this field must have the specified number of
+ // items at a minimum
+ optional uint64 min_items = 1;
+
+ // MaxItems specifies that this field must have the specified number of
+ // items at a maximum
+ optional uint64 max_items = 2;
+
+ // Unique specifies that all elements in this field must be unique. This
+ // contraint is only applicable to scalar and enum types (messages are not
+ // supported).
+ optional bool unique = 3;
+
+ // Items specifies the contraints to be applied to each item in the field.
+ // Repeated message fields will still execute validation against each item
+ // unless skip is specified here.
+ optional FieldRules items = 4;
+}
+
+// MapRules describe the constraints applied to `map` values
+message MapRules {
+ // MinPairs specifies that this field must have the specified number of
+ // KVs at a minimum
+ optional uint64 min_pairs = 1;
+
+ // MaxPairs specifies that this field must have the specified number of
+ // KVs at a maximum
+ optional uint64 max_pairs = 2;
+
+ // NoSparse specifies values in this field cannot be unset. This only
+ // applies to map's with message value types.
+ optional bool no_sparse = 3;
+
+ // Keys specifies the constraints to be applied to each key in the field.
+ optional FieldRules keys = 4;
+
+ // Values specifies the constraints to be applied to the value of each key
+ // in the field. Message values will still have their validations evaluated
+ // unless skip is specified here.
+ optional FieldRules values = 5;
+}
+
+// AnyRules describe constraints applied exclusively to the
+// `google.protobuf.Any` well-known type
+message AnyRules {
+ // Required specifies that this field must be set
+ optional bool required = 1;
+
+ // In specifies that this field's `type_url` must be equal to one of the
+ // specified values.
+ repeated string in = 2;
+
+ // NotIn specifies that this field's `type_url` must not be equal to any of
+ // the specified values.
+ repeated string not_in = 3;
+}
+
+// DurationRules describe the constraints applied exclusively to the
+// `google.protobuf.Duration` well-known type
+message DurationRules {
+ // Required specifies that this field must be set
+ optional bool required = 1;
+
+ // Const specifies that this field must be exactly the specified value
+ optional google.protobuf.Duration const = 2;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional google.protobuf.Duration lt = 3;
+
+ // Lt specifies that this field must be less than the specified value,
+ // inclusive
+ optional google.protobuf.Duration lte = 4;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive
+ optional google.protobuf.Duration gt = 5;
+
+ // Gte specifies that this field must be greater than the specified value,
+ // inclusive
+ optional google.protobuf.Duration gte = 6;
+
+ // In specifies that this field must be equal to one of the specified
+ // values
+ repeated google.protobuf.Duration in = 7;
+
+ // NotIn specifies that this field cannot be equal to one of the specified
+ // values
+ repeated google.protobuf.Duration not_in = 8;
+}
+
+// TimestampRules describe the constraints applied exclusively to the
+// `google.protobuf.Timestamp` well-known type
+message TimestampRules {
+ // Required specifies that this field must be set
+ optional bool required = 1;
+
+ // Const specifies that this field must be exactly the specified value
+ optional google.protobuf.Timestamp const = 2;
+
+ // Lt specifies that this field must be less than the specified value,
+ // exclusive
+ optional google.protobuf.Timestamp lt = 3;
+
+ // Lte specifies that this field must be less than the specified value,
+ // inclusive
+ optional google.protobuf.Timestamp lte = 4;
+
+ // Gt specifies that this field must be greater than the specified value,
+ // exclusive
+ optional google.protobuf.Timestamp gt = 5;
+
+ // Gte specifies that this field must be greater than the specified value,
+ // inclusive
+ optional google.protobuf.Timestamp gte = 6;
+
+ // LtNow specifies that this must be less than the current time. LtNow
+ // can only be used with the Within rule.
+ optional bool lt_now = 7;
+
+ // GtNow specifies that this must be greater than the current time. GtNow
+ // can only be used with the Within rule.
+ optional bool gt_now = 8;
+
+ // Within specifies that this field must be within this duration of the
+ // current time. This constraint can be used alone or with the LtNow and
+ // GtNow rules.
+ optional google.protobuf.Duration within = 9;
+}